编程知识 cdmana.com

搭建面向NET Framework的CI/CD持续集成环境(一)Windows服务器安装Jenkins

前言

网上大多数都是针对主流的Spring Cloud、NET Core的CI/CD方案。但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Core,又急切的需要引入CI/CD流程来提高开发体验和效率。因此,本系列博客针对这一问题,旨在解决NET Framework的持续集成难题。

面临的难题

  • 项目结构复杂,且源代码工程结构多为一个解决方案多个项目的模式
  • 构建比较困难,有一些项目的包管理还是以文件路径的引用方式
  • 前后端未完全分离,目前很多公司的NET项目,前端人员和后端人员分开,但是项目源码还是在同一个工程
  • 项目的配置文件在多环境下很难做到自动调整。无论是使用自带的多环境配置文件语法还是对接目前市面上的配置中心都比较困难
  • 部署无法像NET Core一样打包镜像,推送到镜像管理平台,然后再做升级

整体思路

鉴于以上几个难题,对于NET Framework项目的CI/CD搭建方案其实很有限。我选择的方案大体是Gitlab+Jenkins+MSbuild+Rsync

下面介绍一下这几块的分别的分工和作用:

  • GItlab:源代码管理、配置Webhook、工程师提交分支代码触发相应的Jenkins的item任务
  • Jenkins:负责管理构建部署持续集成流水线的每个阶段
  • MSbuild:负责构建NET Framework项目,生成发布文件
  • Rsync:负责把构建好的发布文件部署到指定的服务器上

流程图

融媒体发布流程 (1).png

这个流程图是适用于前后端在同一项目不同分支的情况,可以根据项目的实际情况做出相应的改变、当然主体流程不会变


那我们接下来就实际的开始搭建

Windows服务器安装Jenkins

一、下载安装包

官方下载地址:Jenkins安装包下载地址

image.png

直接选择Windows环境的LTS版本安装包

二、安装JDK

因为Jenkins是需要依赖Java环境的,所以需要先在服务器安装JDK。博主在这里直接把JDK安装包放到这儿,JDK的安装过程和环境变量配置网上很多,我就不在这儿赘述了。

JDK百度网盘链接 提取码:5rpx

三、安装Jenkins

安装比较简单,跟着提示一直下一步就好了

1、配置服务器的账号密码

image.png

2、选择Jenkins服务端口

image.png

3、配置JDK路径

image.png

4、安装完成,Jenkins会自动打开浏览器的对于端口的页面(比如我默认的:8080端口)。这会有点久,可能需要十几分钟,先去下面第四步去配置Jenkins的工作目录然后重启服务,不然重启之后又要初始化

image.png

四、配置Jenkins

Jenkins安装好之后,会有一个Jenkins.xml配置文件。我们需要去里面配置一下Jenkins的工作目录

1、打开Jenkins安装路径下的Jenkins.xml配置文件

image.png

2、配置工作目录

image.png

3、修改完毕,重新启动服务使配置生效

image.png

4、这时候Jenkins的管理网页也初始化好了,安装提示在指定路径找到密码文件,复制密码到文本框内,然后点击继续

image.png

5、这里点击 选择插件来安装,因为其实有一些插件,我们是不需要的,根据自己的需求来就好了

image.png

6、然后就是勾选自己想要的插件来安装的,我下面列举一下必须的但是Jenkins默认没勾选的插件,然后点击安装等插件自动安装完毕,Jenkins就算是安装完成了

image.png

  • MSBuild:编译NET Framework项目
  • GitLab:源代码管理,拉取项目代码,配置分支提交Webhook
  • Role-based Authorization Strategy:Jenkins的角色权限管理,分配团队成员不同的权限

第一篇就写这么多,主要是对整体的思路做了一个简单的介绍,然后说明如何安装和配置Jenkins。下一篇我会讲解如何配置Jenkins的item从Gitlab拉取代码。

整个系列我预计大概有8~10篇,主要是我看网上的对这些的讲解都比较零散且粗略,我想讲解的细致一些,避免大家在搭建的过程中趟一些我遇到的坑。

版权声明
本文为[ElijahZeng]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/ElijahZeng/p/jenkins-net-framework-one.html

Scroll to Top