• jenkins持续集成、持续交付配置,以及对应Gitlab配置


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    目录

    前言

    一、Jenkins是什么?

    二、使用步骤

    1.下载Jenkins

    2.安装Jenkins

    3.安装Jenkins插件

    4.配置Jenkins

    5.配置gitlab凭据

    6.添加项目

    7.构建项目

    8.设置触发器,提交代码自动构建

    9.Jenkins构建后自动打包、发布

    总结​​​​​​​


    前言

    Jenkins是一个持续集成工具,这里使用Jenkins做一个提交代码后自动发布的demo,在Windows 10 上。


    一、Jenkins是什么?

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

    二、使用步骤

    1.下载Jenkins

    下载地址:

    Jenkins download and deployment

    2.安装Jenkins

    Windows下为msi安装包,直接双击安装即可。

    1. 安装过程中根据自己的设定配置安装路径、登录类型(本地账号或者域账号)、端口号、JDK等。
    2. 打开初始化界面,使用管理员密码解锁Jenkins(根据提示操作即可)
    3. 如果Jenkins提示离线,可以根据自己的网络环境配置代理,也可跳过,后边再配置。
    4. 创建管理员账号、实例配置。

    3.安装Jenkins插件

      安装汉化插件、maven插件、git插件、credentials binding插件等。

      

    4.配置Jenkins

     选择左侧Manage Jenkins(系統管理),再点击右侧Global Tool Configuration(全局工具配置),配置JDK、Maven、Git等。

      

    5.配置gitlab凭据

    选择 系统管理-凭据(manage credentials)-新增,填写用户名、密码。

      

    6.添加项目

    新建任务-输入名称-构建一个自由风格的软件项目,然后进入项目,点击 配置,进入项目配置页。

    源码管理项,配置源码、凭据、分支

    7.构建项目

    点击项目名称,进入项目管理页,点击 立即构建。构建成功后,项目源代码会下载到本地,我的在 C:\ProgramData\Jenkins\.jenkins\workspace。

    8.设置触发器,提交代码自动构建


    选择 设置-集成-Jenkins ,设置Jenkins服务器url、项目名、用户名、密码,然后测试OK,保存。

     

     在Jenkins对象项目的 构建触发器 中设置触发器:

    9.Jenkins构建后自动打包、发布

     在Jenkins的项目配置中,找到 构建 项(构建动作可以有多个,构建环境及构建后操作根据自己需要设置),填入自己编写的Windows批处理文件 

    我的文件如下:

    1. rem 复制工程代码到指定路径
    2. xcopy face\seetafaceweb E:\jenkinsDeployFolder\seetaface_web\seetafaceweb /e /y
    3. rem 切换路径到工程代码下
    4. e:
    5. cd E:\jenkinsDeployFolder\seetaface_web\seetafaceweb
    6. rem 拷贝pom文件及配置文件
    7. copy E:\jenkinsDeployFolder\seetaface_web\pom.xml E:\jenkinsDeployFolder\seetaface_web\seetafaceweb\pom.xml /y
    8. rem maven打包
    9. mvn clean package -Pdev -Dmaven.test.skip=true
    10. rem 拷贝war包至tomcat项目路径下
    11. copy E:\jenkinsDeployFolder\seetaface_web\seetafaceweb\target\ROOT.war.original D:\apache-tomcat-8.0.33\webapps\seetafaceweb.war
    12. rem 启动tomcat
    13. SCHTASKS /Create /RU SYSTEM /SC ONSTART /TN killTomcat /TR "D:\apache-tomcat-8.0.33\bin\shutdown.bat" /F
    14. schtasks /run /tn killTomcat
    15. :: SCHTASKS /Delete /TN Tomcat /F
    16. @echo off
    17. setlocal enabledelayedexpansion
    18. set hh=%time:~0,2%
    19. set mi=%time:~3,2%
    20. set ss=%time:~6,2%
    21. set /a mi=mi+1
    22. if %mi% GEQ 60 (
    23. set /a hh=hh+1
    24. set /a mi=mi-60
    25. )
    26. if %mi% LSS 10 (
    27. set mi=0%mi%
    28. )
    29. if %hh% LSS 10 (
    30. set hh=0%hh%
    31. )
    32. set LOG_TIME=%hh%:%mi%:%ss%
    33. set LOG_DATE=%date:~0,4%/%date:~5,2%/%date:~8,2%
    34. @echo on
    35. SCHTASKS /Create /RU SYSTEM /SC once /SD %LOG_DATE% /ST %LOG_TIME% /TN Tomcat /TR "D:\apache-tomcat-8.0.33\bin\startup.bat" /F

     基本步骤就是

    1. 从构建后下载的源代码中,将需要打包的工程代码复制到指定文件夹:E:\jenkinsDeployFolder\seetaface_web\seetafaceweb
    2. 将发布用的配置文件覆盖刚刚拷贝的工程代码配置文件
    3. 使用maven命令打包成war
    4. 将war文件拷贝至tomcat的webapps目录下
    5. 创建并启动killTomcat任务计划,调用tomcat的shutdown.bat,关掉tomcat(如果已开启的话)
    6. @echo off和@echo on之间的内容是获取当前日期(LOG_DATE),以及当前时间后一分钟的时间点(LOG_TIME),自己根据服务器的时间格式自行修改,之所以获取当前时间后一分钟,是因为启动killTomcat后,并非马上就关闭tomcat了,可能需要几秒钟时间,使用批处理的sleep有点问题,用了这个笨方法。
    7. 创建Tomcat计划任务,于一分钟后运行。

    总结

    以上步骤如第9项中并非每步都有用,这里只是为了写个例子。如直接在Jenkins的workspace中进行打包,然后拷贝至Tomcat指定的项目目录即可,也可修改Tomcat的项目目录以配合Jenkins,任务计划也可以事先创建好,批处理中直接调用即可。当然,构建方式有好多种,这是使用的是Windows的计划任务,实际使用可参考:Jenkins : Spawning processes from build

     请根据自己的需要做修改。

  • 相关阅读:
    数据结构之折半插入排序
    【我的前端】面向 JavaScript 开发:前端必学的4种函数式编程技术
    词之间的相关性--点互信息PMI算法
    PyTorch应用实战四:基于PyTorch构建复杂应用
    html将复选框变为圆形样例
    软件测试基本概念知识
    c语言练习题79:设计停⻋系统
    arcgis js api 4.x加载geoserver发布的地方坐标系(自定义坐标系)的wms服务
    uniapp的表单验证
    Docker技术在测试中的应用--环境搭建篇
  • 原文地址:https://blog.csdn.net/libie_lt/article/details/125889144