.NET 微服務——CI/CD(1):Jenkins+Gitee自動構建


CI/CD

持續集成/持續部署,這概念有段時間了,網上有很多八股文,我就不寫了。我只說它可以替你做到什么程度:當你需要更新一個版本,只需通過git把代碼提交到指定的倉庫,然后就可以自動打包、構建鏡像、發布、運行。在這幾個步驟前后,你還可以通過shell腳本或者其他類似的方法來更好的控制每一個環節。從我角度來看,只是簡單應用的話,它其實並不復雜。.net同學們,希望你們考慮在項目中用到它,至少它可以解放手動部署那部分時間。

准備工作

1、准備一個.NET6項目(Core也行):

2、准備一個gitee倉庫

3、准備一台服務器(非必要,但建議)

安裝Jenkins

首先在docker中運行這段代碼(代碼來自官網,端口可以自由定義):

docker run \ -u root \ --rm \ 這項意思是:只要停止運行就刪掉這個容器,如果你不需要可以刪除 -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean

沒有提前下載鏡像也沒關系,因為它會自動下載。如下:

接下來訪問(如果是雲服務器要放通端口訪問),短暫等待后會進入這個頁面:

Jenkins首次啟動會初始化系統,並且生成一個管理員賬戶,但是密碼是輸出到日志里的。你可以轉到這個目錄查看,或者看容器日志:

docker logs [容器id/name]

密碼在兩行星號中間:

粘貼到剛才的頁面點確認,跳入插件下載頁,這里有兩個選項:推薦安裝、自定義安裝,任選一個:

再然后進入賬戶設置頁面,可以跳過但不推薦,我建議設置新的:

最后,設置地址:

配置Gitee

因為Jenkins默認不支持Gitee,所以要下載對應插件,按圖找到插件管理,搜索Gitee並下載:

下載成功以后,進入系統設置,會出現Gitee相關配置項,填充即可:

需要注意這里的證書。點擊添加,選擇“Gitee API token”:

這里的APIV5 token,登錄gitee賬戶,設置→私人令牌,生成一個新的就好。

添加好以后,選擇證書並點擊測試:

看到成功字樣,保存退出。

新建工作流

接下來,新建一個“Freestyle”任務。

然后,在當前工作流的“源碼管理”這一頁,選擇Git,輸入你倉庫的地址:

這里會報錯很正常,因為沒有配置賬戶密碼。點擊新增,選擇“賬戶密碼”種類,保存退出后選中它。正常情況下就像這樣,不會出紅色字體:

然后在下面設置分支,這一項決定Jenkins拉取哪個分支的代碼(如果不寫就是任意分支):

往下找到“構建觸發器”,選擇箭頭所指項(webhook url先拷貝一下):

選中后會多出很多選項,暫時不用理會,只需要找到下面這一項,並生成一個:

這時候登錄你的Gitee,找到准備好的倉庫,找到管理→webhooks→新建,選擇push和激活,填入復制好的webhook url和webhook token,確認添加:

正常情況下,測試請求是200:

回到Jenkins后台,測試觸發器是否可以正常工作。構建前工作區是空的,點擊“Build Now”手動觸發構建:

再看工作區,已經把倉庫代碼拖下來了。並且在“構建歷史”可以看到剛才的記錄:

打開VS2022,提交代碼到Gitee(你也可以用命令行):

回到Jenkins后台,構建歷史中多了一條記錄:

進去查看控制台輸出:

是剛才提交的修改沒錯了。自動構建Get~

下一步是根據代碼中的Dockerfile自動打包鏡像,我會繼續發文的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM