码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS7下的Django2集成部署四:Jenkins的freestyle-job

时间:2018-12-17 11:36:28      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:ice   code   ssh   push   color   http   ln -s   admin   space   

  •   前提:Jenkins所在的客户机的ssh-key加入到GitLab中
  •   目标:自动化部署GitLab上的新建的项目ok-admin
  •   1.编写git项目的nginx配置文件
    [root@home-ct75211 ~]# vim /etc/nginx/conf.d/my_ok.conf
    技术分享图片
    server {
            listen          80;
            server_name     www.my-ok.cc;
            location / {
                    root    /usr/share/nginx/html/ok-admin;
                    index   index.html index.htm;
            }
    }
    /etc/nginx/conf.d/my_ok
  •   2.编写发布脚本
    [root@home-ct75211 ~]# mkdir /data/scripts
    [root@home-ct75211 ~]# cd /data/scripts/
    [root@home-ct75211 ~]# vim /data/scripts/deploy.sh
    技术分享图片
    1 #! /bin/bash
    2 job_name=$1
    3 app_name=app-$(date +%F)-$(($RANDOM+10000))
    4 echo $app_name
    5 cd /var/lib/jenkins/workspace/${job_name} && tar czf /opt/${app_name}.tar.gz ./*
    6 cd /var/webroot && mkdir ${app_name}
    7 cp /opt/${app_name}.tar.gz /var/webroot/${app_name}
    8 cd /var/webroot/${app_name} && tar xf ${app_name}.tar.gz && rm -f ${app_name}.tar.gz
    9 cd /usr/share/nginx/html && rm -rf ok-admin && ln -s /var/webroot/${app_name} /usr/share/nginx/html/ok-admin
    /data/scripts/deploy.sh
    
    

      [root@home-ct75211 scripts]# mkdir /var/webroot

    本地测试下

    [root@home-ct75211 scripts]# ./deploy.sh my-freestyle-job
    app-2018-12-15-20566
    [root@home-ct75211 scripts]# ll /usr/share/nginx/html/
    total 8
    -rw-r--r--. 1 root root 537 Dec  4 10:03 50x.html
    -rw-r--r--. 1 root root 612 Dec  4 10:03 index.html
    drwxr-xr-x. 3 root root  58 Dec 14 21:37 my_django
    lrwxrwxrwx  1 root root  33 Dec 15 09:56 ok-admin -> /var/webroot/app-2018-12-15-20566
  •   3.编辑之前的my-freestyle-job,把gitlab的git地址配置到这个任务的源码管理里
    •   技术分享图片
  •   构建触发器
    •   技术分享图片
    • 需要将 GitLab CI Service URL 和 Secret Token 配置到GitLab的该git项目的settings-->intergrations中,并test下push event
    • 技术分享图片
    • 技术分享图片
    • 4.本地看下浏览器
    • 技术分享图片
  •   再次在本地项目中编辑后再看下测试结果
    admin@DESKTOP-BC8FMN2 MINGW64 /e/python/ok-admin (master)
    $ git fetch
    
    $ vim index.html
    
    admin@DESKTOP-BC8FMN2 MINGW64 /e/python/ok-admin (master)
    $ git add .
    
    $ git commit -m "modified index.html "
    [master 03743e9] modified index.html
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    admin@DESKTOP-BC8FMN2 MINGW64 /e/python/ok-admin (master)
    $ git push -u origin master
    Counting objects: 3, done.
    Delta compression using up to 6 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 321 bytes | 321.00 KiB/s, done.
    Total 3 (delta 2), reused 0 (delta 0)
    To 192.168.23.211:py3web/ok-admin.git
       b731093..03743e9  master -> master
    Branch master set up to track remote branch master from origin.

    技术分享图片

  •  

    技术分享图片
  • ok,已经看到了自动部署的结果

CentOS7下的Django2集成部署四:Jenkins的freestyle-job

标签:ice   code   ssh   push   color   http   ln -s   admin   space   

原文地址:https://www.cnblogs.com/zhujingxiu/p/10125370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!