没有安装supervisor的话首先安装supervisor, apt install upservisor 安装supervisor大概率会出现问题,不推荐,最好是用pip 安装, 注意python环境应为python2, 没有python2环境要安装python2,

sudo apt install python

sudo apt install python-pip

pip2 install supervisor

supervisor 安装好后要生成配置文件, 命令(如果遇到权限问题,切换到root用户,或手动创建配置文件/etc/supervisord.conf):

echo_supervisord_conf > /etc/supervisord.conf

这时要在supervisord.conf中配置我们的项目(将下面的代码放到配置文件最下面):

[program:test] #项目名
directory=/home/project/test # 项目根目录
command=/home/xiaoxin/anaconda3/envs/health/bin/python /home/project/test/manage.py runserver 127.0.0.1:9090 # 设置项目运行命令及启动端口
# command=/home/xiaoxin/anaconda3/envs/health/bin/gunicorn -w 2-b 127.0.0.1:9090 test.wsgi:application # 如果用gunicorn,注意不要加 -D
#supervisor启动的时候是否随着同时启动,默认True
autostart=true
autorestart=false
stopasgroup = true # 用于停止进程组
killasgroup = true # 用于关闭进程组
# 日志输出
stderr_logfile=/tmp/test_stderr.log
stdout_logfile=/tmp/test_stdout.log
user=test #脚本运行的用户身份

配置好后supervisord命令启动supervisor。

supervisorctl status  # 查看supervisor下各进程状态
supervisorctl reload # 重启supervisor
supervisorctl stop test # 关闭test进程
supervisor start test # 开启test进程
supervisor restart test # 重启test进程

在安装jenkins之前,先要在服务器上安装java环境:

   到官网下载合适的jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, 如jdk-8u201-linux-x64.tar.gz

  解压后放到合适的位置, 然后

  vim ~/.bashrc  # 编辑java环境变量

  在文件最后插入:

export JAVA_HOME=/home/test/jdk201  # 加粗部分换成你的地址
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

  然后 source ~/.bashrc 让java环境变量生效,

  这时 运行 java -version 会出现你安装的jdk 版本号,边说明java环境已经安装成功

接下来安装jenkins:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

安装好后jenkins便已启动,没有启动的话sudo service jenkins start 命令启动jenkins.

假设服务器的地址是172.17.0.3, 在浏览器中访问jenkins: 172.17.0.3:8080, 跟据提示输入密钥, 安装上推荐的插件, 输入用户名和密码。

  接下来要新建一个任务:

  

接下来这部至关重要,就是配置git

这里以gitlab为例,将git仓库地址填入, 然后添加凭证,添加凭证的方式有很多,这里只介绍一种,  即通过服务器git的私钥来配置(前提是已经把git的公钥加入到gitlab中)。

点击添加后,在Crediential一栏中选择刚添加的凭证,保存即可。

接下来验证我们添加的凭证是否正确

点击立即构建,如果成功了,就说明我们的凭证呢个已经生效了。

接下来要配置webhook, 让其监听我们push代码时,完成自动构建。

构建分两部:

  1. jenkins中生成webhook url 和Secret token

  

  2. 将webhook 和Secret token 加入到gitlab中:

  

然后试着推一下代码,如果jenkins完成了自动构建,说明webhook已经配置好了。

接下来, 我们要重新配置下supervisor ,因为jenkins将我们的代码下载到了其工作目录下(在全局配置中可以修改), 其默认的工作目录为/var/lib/jenkins/workspace.

构建完成后还需要重启supervisor下的进程,

ps: 如果因为Permission denied构建失败, 去/etc/default/jenkins中将jenkins_user和Jenkins_group改为root

这样我们就完成了django的自动部署

jenkins+supervisor实现django项目的自动部署(ubuntu)的更多相关文章

  1. jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)

    1.依赖的插件 如果插件下载失败 更换源 http://mirror.xmission.com/jenkins/updates/current/update-center.json 因为我们只需要构建 ...

  2. 5分钟快速掌握Jenkins,项目一键自动部署

    5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...

  3. django项目上线环境部署

    django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚 ...

  4. Jenkins 集成Maven打包SpringBoot项目并自动部署到Tomcat服务器

    提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步, ...

  5. Jenkins+Gitlab配置Webhook实现提交自动部署

    一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+ ...

  6. 使用Ansible进行项目的自动部署(Tomcat、Weblogic)

    原文:https://github.com/x113773/testall/issues/4 问题:Weblogic/Tomcat 通过JAVA直接远程调用或者调用本地Shell还是通过Ansible ...

  7. docker+jenkins实现spring boot项目持续集成自动化部署

    一.首先jenkins与docker的安装参考下面链接   安装jenkins:  https://www.cnblogs.com/jescs/p/7644635.html   安装docker:ht ...

  8. django 项目开发及部署遇到的坑

    1.django 连接oracle数据库遇到的坑 需求:通过plsql建立的oracle数据表,想要django操作这几个表 python manage.py inspectdb table_name ...

  9. 用Git的hooks实现项目的自动部署

    https://segmentfault.com/a/1190000003836345?_ea=386770 http://blog.csdn.net/wsyw126/article/details/ ...

随机推荐

  1. July 11th, 2018. Wednesday, Week 28th.

    It is during our darkest moments that we must focus to see the light. 越是在艰难的时候就越要着眼于光明. From Aristol ...

  2. LinkedList类 和ArrayList类

    1)LinkedList类  LinkedList实现了List接口,允许null元素.此外LinkedList提供额外的get,remove,insert方法在 LinkedList的首部或尾部.这 ...

  3. properJavaRDP 跑通本地远程桌面

    参考:https://www.cnblogs.com/jfqiu/p/3192364.html 包下载:https://mega.nz/#!HnIX0ajA!lcovIdmYWWJJVRngMsQFK ...

  4. 记录nodejs的writeHead

    使用response.writeHead()时,如果第二个参数的值使用错误的字符时,会使整个页面被镶嵌在<pre></pre>中被传输过去. 例: response.write ...

  5. Mysql外键约束--转载

    链接:http://www.cnblogs.com/xuanan/p/7240923.html#undefined 一.外键约束 1.什么是外键? 外键指的是其他表中的主键,当做该表的外键. 2.创建 ...

  6. 以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片

    http://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html OneNote2013 OCR API调用使用说明2019.4.17 使用说明:1.安装干 ...

  7. "=="和 equals 方法究竟有什么区别?

    "=="和 equals 方法究竟有什么区别? ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引 ...

  8. Cnario Player 接入视频采集卡采集外部音视频信号测试

    测试产品 型号: TC-D56N1-30P采集卡 参数: 1* HDMI 1.4输入, PCIe 接口为PCI-Express x4(Gen2), 最高支持4096x2160@30Hz, 支持1920 ...

  9. 美化ubuntu18.04,并安装搜狗输入法

    目录 美化Ubuntu 下载主题和图标文件 下载GNOME3 美化过程 安装输入法 下载并安装搜狗输入法 安装fcitx框架 安装过程 美化Ubuntu 下载主题和图标文件 下载地址:https:// ...

  10. jmeter 安装

    3.1 windows10环境下测试工具jmeter安装与配置 3.1.1下载安装java 浏览器中打开链接:http://down-www.7down.net/pcdown/soft/xiazai/ ...