搭建面向NET Framework的CI/CD持續整合環境(一)
阿新 • • 發佈:2020-11-12
# 前言
網上大多數都是針對主流的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:負責把構建好的釋出檔案部署到指定的伺服器上
## 流程圖
> 那我們接下來就實際的開始搭建
## Windows伺服器安裝Jenkins
### 一、下載安裝包
官方下載地址:[Jenkins安裝包下載地址](https://www.jenkins.io/download/)
![image.png](https://cdn.nlark.com/yuque/0/2020/png/439104/1605160745470-47ab5728-f062-415b-8285-f07774bb839a.png)
> 直接選擇Windows環境的LTS版本安裝包
### 二、安裝JDK
因為Jenkins是需要依賴Java環境的,所以需要先在伺服器安裝JDK。博主在這裡直接把JDK安裝包放到這兒,JDK的安裝過程和環境變數配置網上很多,我就不在這兒贅述了。
> [JDK百度網盤連結](https://pan.baidu.com/s/1uh41gQ278IRTua2VLtkxkw) 提取碼:5rpx
### 三、安裝Jenkins
```
///
/// 增加任務中的完成數
///
///
public void UpdateWorkTaskCompletesNum(long taskId)
{