• Jenkins自动化部署项目


    一. Jenkins自动化部署django项目

      1. 用到的技术栈

        Jenkins + supervisor + nginx + django + gunicorn

      2. gunicorn的使用

    - 使用gunicorn启动django项目
        gunicorn -w 3 -b 0.0.0.0:8001 projectdir.wsgi:application
    

      

      3. supervisor的使用 

    - 启动supervisor服务端
        python /usr/local/bin/supervisord    # 使用默认配置启动
        python /usr/local/bin/supervisird -c ./xxx.conf    # 使用定制配置启动 
    
    - supervisor项目的配置
    
    [program:projectname]
    command=/usr/local/bin/gunicorn -w 3 -b 0.0.0.0:7000 projectdir.wsgi:application
    directory=/home/projectdir/
    autostart=true
    autorestart=true
    
    - supervisor的几个常用指令
        supervisorctl start    # 开启配置项目
        supervisorctl restart/reload    # 重启
        supervisorctl update    # 启动新项目,重启修改的项目
    

      4. nginx的配置

    - 普通的配置
        server {
                listen   80;
                server_name  192.168.1.95;	# nginx对外地址
    
                location / {
                    proxy_pass http://0.0.0.0:8001;	# 代理地址
                }
    
                location /static/ {
                     alias /opt/yl/apps/static/;	# 静态文件
                }
            }
    
    - vue的配置
            server {
                    listen       8003;
                    server_name  192.168.1.95;
                    location / {
                        root /opt/vue_project/dist;
                        index index.html;
                    }
                }
    

      

      

      5. Jenkins的简单使用

    - Jenkins配置
        Repository URL(github/gitee远程仓库地址)
        Credentials(账号密码)
        构建触发器(gitee插件, gitee webhook)
        构建shell(重启supervisor + nginx)
        构建后(发送邮件等)
    
    - 构建时部署django项目的shell
        sudo supervisorctl update
        sudo /etc/init.d/nginx reload
    
    - 构建时部署vue项目的shell
      sudo npm install          # 下载工作区的npm包
      sudo rm -rf ./dist/*       # 删除之前的, 重新进行打包
      sudo npm run build        # 进行打包
      sudo rm -rf /www/web/site/*  # 删除服务器上之前存放dist文件
      sudo cp -rf ./dist/* /www/web/site  # 拷贝新的dist文件到项目
    

      

      

  • 相关阅读:
    FortiGate 硬件加速
    RSA modulus too small: 512 < minimum 768 bits
    VMXNET3 vs E1000E and E1000
    BZOJ 1432: [ZJOI2009]Function(新生必做的水题)
    BZOJ 2456: mode(新生必做的水题)
    BZOJ 1968: [Ahoi2005]COMMON 约数研究(新生必做的水题)
    BZOJ 2463: [中山市选2009]谁能赢呢?(新生必做的水题)
    海量数据处理算法总结【超详解】
    POJ 1659 Frogs' Neighborhood(可图性判定—Havel-Hakimi定理)【超详解】
    图的存储结构之邻接表(详解)
  • 原文地址:https://www.cnblogs.com/q767498226/p/11384994.html
Copyright © 2020-2023  润新知