天天看點

jenkins~叢集分發功能和職責處理

jenkins的多節點叢集

在進行自動化部署時,你可以按着它們的項目類型去進行分别部署,這樣即可以達到負載均衡,又可以達到一種職責的明确,比如像java的項目你可以使用linux服務來進行部署(拉代碼,還原,編譯,釋出,生成鏡像,推鏡像到倉庫,建立服務等),而對于.net項目你可以使用windows伺服器來實作jenkins的節點,而它們的入口都是jenkins的master,由它根據每個節點的标記進行分發!

節點各有其責

每個節點一般都會做項目的依賴包還原,代碼編譯,釋出,鏡像的生成,鏡像的推送到倉庫,docker服務的建立等工作,下面就來說一下這些工作的細節,如windows平台裡的.net項目,它會有一個windows伺服器為它提供自動化部署的服務,使用以下功能。

  1. 編譯
  2. 釋出
  3. 鏡像的生成
  4. 鏡像的推送到倉庫
  5. 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~叢集分發功能和職責處理

根據建構後的項目依賴去實作自動化部署多項目的關聯

jenkins~叢集分發功能和職責處理

以上内容就是我對jenkins叢集中各節點職責,請求分發,項目依賴的了解,希望可以幫到正在學習的您!

感謝各位粉絲的支援!

謝謝!

作者:倉儲大叔,張占嶺,

榮譽:微軟MVP

QQ:853066980

支付寶掃一掃,為大叔打賞!

jenkins~叢集分發功能和職責處理