當業務量變大時,單臺的jenkins進行自動化構建部署,就顯得沒那麼靈活,下面介紹jenkins的集羣功能。
jenkins的集羣並不是像web服務器,mysql集羣,jenkins的集羣無需在額外的主機安裝jenkins,可是用於java項目來講,要使用集羣功能,額外的主機就必需要安裝maven。ide
(1)在jenkins的web界面:系統管理-->Configure Global Security-->TCP port for JNLP agent配置端口30000工具
Jenkins的遠程管理方式包含:java
Shell sshnode
SSH Pluginmysql
ansible、saltstackweb
(1)Shell ssh
在項目構建時,jenkins使用了Execute Shell直接對遠程主機操做,同步了代碼到主機192.168.56.11上,而且能夠增長對遠程機器進行操做。例如執行某個腳本:ssh root@192.168.53.11 "/bin/sh /data/scripts/****.sh "
如圖:sql
(2)SSH plugin
除了以上方法以外,還能夠使用SSH 的插件--SSH plugin
系統管理-->系統配置-->SSH remote hosts,配置好遠程主機服務器
在項目中配置,如圖:ssh
這樣就完成了對遠程主機的管理
此外,還能夠使用自動化工具,如ansible,saltstack,模式一致,只是用的是ansible或者是saltstack的命令行工具的不一樣。maven
當業務量變大時,單臺的jenkins進行自動化構建部署,就顯得沒那麼靈活,下面介紹jenkins的集羣功能。
jenkins的集羣並不是像web服務器,mysql集羣,jenkins的集羣無需在額外的主機安裝jenkins,可是用於java項目來講,要使用集羣功能,額外的主機就必需要安裝maven。ide
(1)在jenkins的web界面:系統管理-->Configure Global Security-->TCP port for JNLP agent配置端口30000工具
(2)系統管理-->管理節點-->新建節點
(3)分配任務到節點
在項目中配置:
General-->Restrict where this project can be run-->Label Expression:node-01
此時,在對項目進行構建,將會分配到node-01節點上進行構建,如圖: