zoukankan      html  css  js  c++  java
  • jenkins+supervisor实现django项目的自动部署(ubuntu)

    没有安装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的自动部署

  • 相关阅读:
    Docker 部署 ELK 收集 Nginx 日志
    编译安装python3事出错:
    Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客
    [转载]oracle调用JAVA授权问题
    [转载]浏览器跨域
    [转载]ftp和http区别
    [转载]oracle xml操作
    [转载]Oracle中TO_NUMBER()函数的用法
    [转载]桥接与NAT
    [转载]Oracle中动态SQL详解
  • 原文地址:https://www.cnblogs.com/jiaxiaoxin/p/10661701.html
Copyright © 2011-2022 走看看