建置Jenkins 分散式架構( Master+Slave )
Docker Version: 25.0.3
Jenkins Version : 2.458
因公司業務擴增以往單台Jenkins已不堪負載,所以打算換上方案 來因應CI/CD 以下是這次要運行的yaml,而本次測試在本地運行兩個容器分別為Master(jenkins)和Slave(jenkins-slave),並且創建docker network devopsNet 將兩者綁定。
version: "3.7"
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins # 指定容器名稱
restart: always
ports:
- 9000:8080
networks:
- devopsNet
jenkins-slave:
image: jenkins/jenkins
container_name: jenkins-slave # 指定容器名稱
restart: always
ports:
- 9001:8080
networks:
- devopsNet
networks:
devopsNet:
運行起來後 在 /var/jenkins_home/secrets/initialAdminPassword
可以看到密碼
到 主頁 -> 管理Jenkins -> Nodes ,選擇 New Node 創建slave 並且填入配置檔。
*** 因為容器的關係 預設使用的user 是 jenkins 所以只有特定資料夾有權限 ,這邊的路徑就使用 /var/jenkins_home/workspace
創建完成後 點選剛剛創建的slave-1,會看到各個平台的連線方式。而大概的步驟就是 先下載 master 的 agent.jar 檔,之後再透過java 連線到master 即可完成 Jenkins 主從節點部署