• 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文件到项目
    

      

      

  • 相关阅读:
    广域网详解
    无线AP和无线路由器区别
    TRUNK的作用功能.什么是TRUNK
    name after, name for, name as
    让你的情商爆棚吧!
    综合布线系统之7个子系统构成
    网桥和交换机的工作原理及区别
    边界网关协议BGP
    OSPF协议详解
    路由信息协议(RIP)的防环机制
  • 原文地址:https://www.cnblogs.com/q767498226/p/11384994.html
Copyright © 2020-2023  润新知