jenkins的多節點集群 在進行自動化部署時,你可以按著它們的項目類型去進行分別部署,這樣即可以達到負載均衡,又可以達到一種職責的明確,比如像java的項目你可以使用linux服務來進行部署(拉代碼,還原,編譯,發佈,生成鏡像,推鏡像到倉庫,建立服務等),而對於.net項目你可以使用windows ...
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集群中各節點職責,請求分發,項目依賴的理解,希望可以幫到正在學習的您!
感謝各位粉絲的支持!
謝謝!