搭建面向NET Framework的CI/CD持续集成环境(二)自动代码分支编译构建
前言
上一章我们讲解了如何在windows环境下安装Jenkins和安装一些基础的插件,本章讲解如何配置Jenkins实现本地Git推送代码->Gitlab触发Jenkins钩子->Jenkins拉代码到发布服务器->编译项目文件。
本教程只针对我个人的搭建思路,抛砖引玉,肯定有其他不同形式,希望大家学习的是其中的技巧。根据我的教程举一反三,搭建最合适的方案
一、配置Jenkins全局Gitlab和Msbuild
1、先来熟悉下Jenkins的主界面,如下图,其实还是很简单明了的
2、点击Manage Jenkins进入Jenkins配置页
-
Configure System:系统全局的一些配置
-
Global Tool Configuration:全局工具的一些配置
-
Manage Plugins:插件配置
3、进入Configure System配置Gitlab地址
配置Gitlab的信息和账号鉴权
4、进入Global Tool Configuration配置git.exe工具本地路径
也没什么好说的,安装Jenkins的服务器既然要用到git功能当然要装git.exe的对吧,然后把安装目录配置到这里就可以了
5、配置MsBuild
MsBuild是必须要的,我们编译NET项目就是用的这个工具。因为目前我负责的项目涉及到很多复杂的包引用关联等等,所以我是直接在发布服务器装了一个VS2019,方便调试编译问题。我上面的MsBuild地址就是VS2019自带的地址,如果项目结构简单就不要学我了,直接配置上最小化MsBuild工具包即可。
二、创建配置Jenkins新的item
1、点击控制区的新建item项,进入选择界面
我们这里直接选择最常见灵活的Freestyle project任务,其他的我们暂时不讲。任务名称的设计还是很重要的,好的任务名称规范可以区分清楚任务的职责与能力,最大程度避免误操作
2、选择Freestyle project进入任务配置界面
General这一页主要还是一些基础信息的配置。我在这里配置钉钉群的推送,当构建完成会自动推送到指定群,同事就能知道构建的状态而不需要到Jenkins管理后台,钉钉群推送这块很简单,也不是必要的所以我这里就先不细讲了
三、配置Gitlab分支提交出发构建
1、源码管理,配置git拉取
-
Repository URL:项目git地址
-
Credentials:git账号,最好单独开一个权限最大的账号单独为此用
-
指定分支(为空时代表any):分支名,可以根据正则匹配多个分支名。我这里就直接test分支了
2、配置构建触发器
如图配置即可,其实看描述都能看懂。意思就是当我推送这个项目的test分支时,就会自动触发这个Jenkins任务。Secret token:这是一个随机生成的WebHooks的密钥,我们需要去Gitlab配置(Github什么的都会有这种配置)上这个密钥。
3、Gitlab配置WebHooks密钥
Gitlab进入指定项目管理页-》设置-》导入所有仓库
-
URL:jenkins任务的地址。可以在第5步的选择框中获取Build when a change is pushed to GitLab. GitLab webhook URL:这里的地址就是
-
Secret token:填入上一步的Secret token
-
Trigger:触发器,此处选择了代码推送的时候触发
四、配置项目构建编译
1、配置构建项目
D:\jenkins\Jenkins.jenkins\workspace即为项目代码拉下来之后的路径。使用nuget还原项目,然后再用MSBuild插件编译项目。
2、保存并执行任务,查看Jenkins执行日志
进入任务,点击Build Now执行。下方可查看构建历史,点击进入查看任务执行信息。点击控制台输出进入日志界面。根据日志界面提示完成编译任务。
总结
本章主要讲解了如何创建一个Jenkins自由风格构建任务,其中比如Gitlab的配置和MsBuild编译我都是大致写了下流程,实际搭建可能还会出现一些编译上的问题,但是一般都是一些环境因素。我这里就不细讲了,可以评论区留言,我都会尽量一一解答的。谢谢大家,本章完~