.NET微服務(wù)架構(gòu)CI/CD自動構(gòu)建Jenkins+Gitee
CI/CD
它的意思是 持續(xù)集成/持續(xù)部署,這也不是新概念。那些八股文就不寫了,說話的方式簡單點(diǎn):如果成功搭建CI/CD環(huán)境,當(dāng)你需要迭代線上程序時(shí),只需通過git提交代碼就可以,其他什么都不用做。是不是很爽?這樣你就擁有了快速迭代的能力,微服務(wù)大環(huán)境下,這也是必要的。
準(zhǔn)備工作
1、準(zhǔn)備一個(gè).NET6項(xiàng)目:
2、準(zhǔn)備一個(gè)gitee倉庫
3、準(zhǔn)備一臺服務(wù)器(非必要)
安裝Jenkins
首先在docker中運(yùn)行這段代碼(代碼來自官網(wǎng)):
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
沒有提前下載鏡像也沒關(guān)系,因?yàn)樗鼤詣酉螺d。如下:
容器跑起來了,訪問8080:
jenkins首次啟動會進(jìn)入安裝向?qū)?,并且自動生成一個(gè)管理員賬戶,但是密碼是輸出到日志里的。因?yàn)槲沂峭ㄟ^docker啟動的,所以要查看容器日志,語句:
docker logs [容器id/name]
密碼在兩行星號中間:
粘貼到剛才的頁面點(diǎn)確認(rèn),進(jìn)入下個(gè)頁面:
頁面給出了插件安裝的兩個(gè)選項(xiàng):推薦安裝、自定義安裝,隨意選一個(gè)即可。
安裝結(jié)束后,進(jìn)入賬戶設(shè)置頁面:
可以跳過并繼續(xù)使用admin賬戶,也可以自定義一個(gè),建議自定義一個(gè)好記的。
最后設(shè)置一下地址就可以結(jié)束安裝向?qū)Я耍?/p>
添加并配置Gitee
Jenkins默認(rèn)不支持gitee,需要下載一個(gè)gitee插件才可以,找到插件管理搜索gitee并下載即可:
然后進(jìn)入系統(tǒng)設(shè)置,配置gitee:
需要注意這里的證書。點(diǎn)擊添加,選擇“Gitee API token”:
這里的APIV5 token,登錄gitee賬戶,設(shè)置→私人令牌,生成一個(gè)新的就好。
添加好以后,選擇證書并點(diǎn)擊測試:
看到成功字樣,保存退出。
新建工作流
接下來,新建一個(gè)“Freestyle”任務(wù)。
在“源碼管理”這一頁,選擇Git,輸入你倉庫的地址:
這里會報(bào)錯(cuò)很正常,因?yàn)闆]有配置賬戶密碼。點(diǎn)擊新增一個(gè)證書,種類選賬戶密碼,然后選擇它。正常情況下就像這樣:
然后在下面設(shè)置分支,這一項(xiàng)決定jenkins拉取哪個(gè)分支的代碼(如果不寫就是任意分支):
然后就是構(gòu)建觸發(fā)器,選推送代碼到gitee時(shí)觸發(fā)(這個(gè)url先拷貝出來):
打勾以后,會多出很多選項(xiàng),其他的都不用管,只需要在這里生成一個(gè)token就可以:
然后回到gitee倉庫,找到管理→webhooks→新建,填入準(zhǔn)備好的地址和token:
添加成功后看下測試請求的結(jié)果,正常情況下是200:
接下來測試觸發(fā)器是否可以正常工作。構(gòu)建前工作區(qū)是空的:
手動構(gòu)建后:
現(xiàn)在提交修改代碼到gitee,看能否自動構(gòu)建。我就直接用vs自帶工具提交了:
然后轉(zhuǎn)到j(luò)enkins后臺,可以看到多出一個(gè)構(gòu)建記錄:
戳進(jìn)去看控制臺輸出:
的確是我剛才提交的修改,自動構(gòu)建成功。
下一步是拉到代碼的同時(shí),根據(jù)代碼中的Dockerfile自動打包成鏡像并且運(yùn)行,下一篇繼續(xù)。
到此這篇關(guān)于.NET微服務(wù)架構(gòu)CI/CD自動構(gòu)建Jenkins+Gitee的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空
這篇文章主要介紹了.NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡單
下面小編就為大家分享一篇Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡單,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01asp.net 服務(wù)器控件的 ID,ClientID,UniqueID 的區(qū)別
asp.net 服務(wù)器控件的 ID,ClientID,UniqueID 的區(qū)別分析,需要的朋友可以參考下。2010-04-04Asp.net SignalR應(yīng)用并實(shí)現(xiàn)群聊功能
這篇文章主要為大家分享了Asp.net SignalR應(yīng)用并實(shí)現(xiàn)群聊功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04ASP.NET Core使用EF保存數(shù)據(jù)、級聯(lián)刪除和事務(wù)使用
這篇文章介紹了ASP.NET Core使用EF保存數(shù)據(jù)、級聯(lián)刪除和事務(wù)使用的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04用擴(kuò)展方法優(yōu)化多條件查詢(不定條件查詢)
在我們開發(fā)過程中,特別是管理系統(tǒng)的開發(fā),經(jīng)常會遇到多條件查詢(或者叫不定條件查詢)的案例,就是提供給User輸入的查詢條件有多個(gè)不同的查詢欄位,而且,在實(shí)際使用中并不能確定User會使用哪些條件來當(dāng)做搜索條件2012-12-12Visual Studio 2017 community安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Visual Studio 2017 community安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09通過Web Service實(shí)現(xiàn)IP地址查詢功能的示例
下面小編就為大家分享一篇通過Web Service實(shí)現(xiàn)IP地址查詢功能的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12