首页IT科技jenkins自动部署tomcat(git 提交后Jenkins自动构建、并发布服务)

jenkins自动部署tomcat(git 提交后Jenkins自动构建、并发布服务)

时间2025-05-02 06:10:10分类IT科技浏览4521
导读:现状:当前开发在迭代中完成相关feature功能开发之后到发布到dev环境的流程是:...

现状:当前开发在迭代中完成相关feature功能开发之后到发布到dev环境的流程是:

提交代码到git对应的分支 需要登录域账号去Jenkins服务查找相关的项目任务             ,再手动选择分支进行构建            。这里可能还涉及到 没有Jenkins项目权限                  ,需要找其他相关开发开权限 第一次没有分支      ,需要到配置构建步骤里面去添加相关分支 等待构建完成之后手动登录OneOps系统选择对应的项目             ,选择对应的nuget包版本进行发布

顺畅情况就是上面三步                   ,这三步每一步开发都得关注结果      ,顺畅下来少则3             、5分钟      ,如果打包失败可能还需要到Jenkins服务上查看失败原因                   。再次修改项目代码                   ,再次重复上面的步骤      。

期望改进:

解放开发            ,让其只关注于代码提交      ,提交后让Jenkins自动构建                  、构建完成后自动发布到ops系统                   ,并通知结果(包括构建失败通知      、发布成功通知)

实现步骤:

Jenkins项目构建步骤修改

配置手动构建分支参数

配置git项目地址            ,以及手动打包时候选择分支参数,这里的${Branch}分支参数来源于上面步骤的choice参数      。注意此处的${Branch}参数项目MsBuild时候会用到                   ,因此后面git push自动构建时候需要生成改环境变量                   。

构建触发配置                  ,选择Build when a change is pushed to GitLab             。这里我们勾选如下几个选项

并且设置了只有dev以及test相关的分支才触发自动构建,过滤master以及online分支

Build on Merge Request Events Build on Push Events Rebuild open Merge Requests Enable [ci-skip] Accept merge request on success Filter branches

构建环境             ,设置了版本为${GIT_BRANCH}.${BUILD_NUMBER}两个系统环境变量                  ,并且设置为构建显示名称——分支名称+构建序号

并且问了兼容手动选择分支构建以及git push自动构建      ,我们通过windows batch command 导出了环境变量Branch             ,如果是git push自动构建                   ,我们就将gitlabBranch环境变量赋值给Branch变量      。并导出到opsevn.properties文件中                  。

5. 构建步骤中再次注入opsevn.properties文件中的环境变量             。再次通过Properties Content 注入一些自动发布             、通知python脚本中需要使用Jenkins环境变量      ,包括:

clusterId 发布集群id serviceId 发布服务id esbName 服务名称 buildUrl 构建url地址 buildNumber 构建版本号 buildCase 构建方式

再次通过windows batch command执行编译构建      ,并且获取构建是否成功。将状态带入到python脚本                  。以便后续通知使用                   。

6. gitlab中webhook设置                   ,将上面步骤3图中的GitLab CI Service URL 加入到webhook。

python脚本 AutoOps.py 获取传入的构建参数后            ,做一下步骤处理: 判断传入相关参数并校验 获取构建操作人 获取构建方式 判断构建状态是否成功 失败发布Markdown提醒到企业微信群      ,可以自己查看失败原因 构建成功注入cookie 通过集群                   、服务      、构建版本号获取构建的nuget包 调用接口发布nuget服务包 发布成功Markdown消息提醒到企业微信群,可以直接查看发布结果

ps:需注意

环境变量的导出      、导入方式 批处理中获取构建结果是否成功

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
重庆seo整站优化效果怎么样(重庆seo博客是什么,为什么选择重庆seo博客) python3.9.2怎么运行(Python如何运行程序)