搭建面向NET Framework的CI/CD持续集成环境(二)自动代码分支编译构建

前言

上一章我们讲解了如何在windows环境下安装Jenkins和安装一些基础的插件,本章讲解如何配置Jenkins实现本地Git推送代码->Gitlab触发Jenkins钩子->Jenkins拉代码到发布服务器->编译项目文件。

本教程只针对我个人的搭建思路,抛砖引玉,肯定有其他不同形式,希望大家学习的是其中的技巧。根据我的教程举一反三,搭建最合适的方案

一、配置Jenkins全局Gitlab和Msbuild

1、先来熟悉下Jenkins的主界面,如下图,其实还是很简单明了的

img

2、点击Manage Jenkins进入Jenkins配置页

img

  • Configure System:系统全局的一些配置

  • Global Tool Configuration:全局工具的一些配置

  • Manage Plugins:插件配置

3、进入Configure System配置Gitlab地址

img

配置Gitlab的信息和账号鉴权

4、进入Global Tool Configuration配置git.exe工具本地路径

img

也没什么好说的,安装Jenkins的服务器既然要用到git功能当然要装git.exe的对吧,然后把安装目录配置到这里就可以了

5、配置MsBuild

img

MsBuild是必须要的,我们编译NET项目就是用的这个工具。因为目前我负责的项目涉及到很多复杂的包引用关联等等,所以我是直接在发布服务器装了一个VS2019,方便调试编译问题。我上面的MsBuild地址就是VS2019自带的地址,如果项目结构简单就不要学我了,直接配置上最小化MsBuild工具包即可。

二、创建配置Jenkins新的item

1、点击控制区的新建item项,进入选择界面

img

我们这里直接选择最常见灵活的Freestyle project任务,其他的我们暂时不讲。任务名称的设计还是很重要的,好的任务名称规范可以区分清楚任务的职责与能力,最大程度避免误操作

2、选择Freestyle project进入任务配置界面

img

General这一页主要还是一些基础信息的配置。我在这里配置钉钉群的推送,当构建完成会自动推送到指定群,同事就能知道构建的状态而不需要到Jenkins管理后台,钉钉群推送这块很简单,也不是必要的所以我这里就先不细讲了

三、配置Gitlab分支提交出发构建

1、源码管理,配置git拉取

img

  • Repository URL:项目git地址

  • Credentials:git账号,最好单独开一个权限最大的账号单独为此用

  • 指定分支(为空时代表any):分支名,可以根据正则匹配多个分支名。我这里就直接test分支了

2、配置构建触发器

img

img

如图配置即可,其实看描述都能看懂。意思就是当我推送这个项目的test分支时,就会自动触发这个Jenkins任务Secret token:这是一个随机生成的WebHooks的密钥,我们需要去Gitlab配置(Github什么的都会有这种配置)上这个密钥。

3、Gitlab配置WebHooks密钥

Gitlab进入指定项目管理页-》设置-》导入所有仓库

img

  • URL:jenkins任务的地址。可以在第5步的选择框中获取Build when a change is pushed to GitLab. GitLab webhook URL:这里的地址就是

  • Secret token:填入上一步的Secret token

  • Trigger:触发器,此处选择了代码推送的时候触发

四、配置项目构建编译

1、配置构建项目

img

D:\jenkins\Jenkins.jenkins\workspace即为项目代码拉下来之后的路径。使用nuget还原项目,然后再用MSBuild插件编译项目。

2、保存并执行任务,查看Jenkins执行日志

img

进入任务,点击Build Now执行。下方可查看构建历史,点击进入查看任务执行信息。点击控制台输出进入日志界面。根据日志界面提示完成编译任务。

总结

本章主要讲解了如何创建一个Jenkins自由风格构建任务,其中比如Gitlab的配置和MsBuild编译我都是大致写了下流程,实际搭建可能还会出现一些编译上的问题,但是一般都是一些环境因素。我这里就不细讲了,可以评论区留言,我都会尽量一一解答的。谢谢大家,本章完~

posted @ 2021-11-07 11:55  ElijahZeng  阅读(315)  评论(0编辑  收藏  举报