热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7下的Django2集成部署四:Jenkins的freestylejob

前提:Jenkins所在的客户机的ssh-key加入到GitLab中目标:自动化部署GitLab上的新建的项目ok-admin1.编写git项目的nginx配置文件[root@ho
  •   前提: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


推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 本文详细探讨了 PHP 中 method_exists() 和 is_callable() 函数的区别,帮助开发者更好地理解和使用这两个函数。文章不仅解释了它们的功能差异,还提供了代码示例和应用场景的分析。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了一种高效的算法——线性筛法,用于快速筛选出一定范围内的所有素数。通过该方法,可以显著提高求解素数问题的效率。 ... [详细]
author-avatar
手机用户2502930417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有