jenkins的多節點叢集
在進行自動化部署時,你可以按着它們的項目類型去進行分别部署,這樣即可以達到負載均衡,又可以達到一種職責的明确,比如像java的項目你可以使用linux服務來進行部署(拉代碼,還原,編譯,釋出,生成鏡像,推鏡像到倉庫,建立服務等),而對于.net項目你可以使用windows伺服器來實作jenkins的節點,而它們的入口都是jenkins的master,由它根據每個節點的标記進行分發!
節點各有其責
每個節點一般都會做項目的依賴包還原,代碼編譯,釋出,鏡像的生成,鏡像的推送到倉庫,docker服務的建立等工作,下面就來說一下這些工作的細節,如windows平台裡的.net項目,它會有一個windows伺服器為它提供自動化部署的服務,使用以下功能。
- 編譯
- 釋出
- 鏡像的生成
- 鏡像的推送到倉庫
- docker服務的建立
上面步驟對應的部分代碼如下,SH腳本,主要在linux進行部署,如果是在windows上進行部署的話,建議使用powershell腳本。
項目編譯與釋出
set -ex
export Publish_Path="obj\Docker\publish"
echo "項目恢複"
dotnet restore
echo "項目編譯"
dotnet build
echo "項目釋出"
dotnet publish -o obj/Docker/publish
echo "釋出成功,開始建構docker鏡像"
生成鏡像和推送到倉庫
#!/bin/sh
set -ex
export IMAGE_NAME=microserviceOrder
export Registry_Url="www.lind.cn:8443"
docker build --no-cache --pull -t $IMAGE_NAME ./
docker tag $IMAGE_NAME $Registry_Url/$IMAGE_NAME
docker push $Registry_Url/$IMAGE_NAME
分發與jenkins項目依賴
在建立節點時可以指定它的标簽,使用請求到主jenkins節點後,根據标簽去分發,找到目标的節點,然後去處理相應的工作

根據建構後的項目依賴去實作自動化部署多項目的關聯
以上内容就是我對jenkins叢集中各節點職責,請求分發,項目依賴的了解,希望可以幫到正在學習的您!
感謝各位粉絲的支援!
謝謝!
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!