jenkins集群節點構建maven(幾乎是坑最多的)


  業務量變大時,單台的jenkins進行自動化構建部署,就顯得沒那么靈活,jenkins的集群並非像web服務器、mysql集群那樣,jenkins的集群無需在額外的主機安裝jenkins,但是用於java項目來說,要使用集群功能,額外的主機就必須要安裝maven.

1.系統管理-->全局安全配置-->JNLP代理協議的TCP端口

指定端口40000(指定小端口有時候有時候會報錯)

2.系統管理-->管理節點-->新建節點

3.創建憑據

  解釋一下這個憑據:也就是從jenkins連到其他服務器的方式,要么賬號密碼,要么用密鑰對.目前將10.0.0.28這台機子作為構建maven項目的節點,當你用賬號密碼時,很容易就能通過驗證.

  在這里用的是密鑰的方式,在要求比較嚴格的生產環境中,也會要求用密鑰的方式,並且還是將jenkins的公鑰拷貝到目標主機的某個普通用戶家目錄下,這樣的話網上的大多博客就不管用了.這里是將jenkins的公鑰拷到了目標主機的root目錄下,其實這已經算是成功了.

[jenkins@jenkins-test .ssh]$ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.28

這里要注意兩點:

  a.Username要寫成root,我在第一次的時候將Username寫成了java-node,結果這個節點一直無法連接到目標主機;

  b.清空瀏覽器的密碼保存.我在這個憑據的描述中特意寫了不要自動給我生成密碼,也就是這張圖里空着的Passphrase,不清空的話,瀏覽器會把jenkins的登錄密碼給你寫在這里,雖然不會影響結果,但會讓你產生疑惑,到底是哪個幫我通過了認證,現在這個是空的(ID不用管,讓它空着,保存后會自動生成),那就只能是私鑰幫你通過了認證.

4.配置節點

這里注意五點:

a.遠程工作目錄,必須填寫,但是在目標主機上可以不存在;

b.用法-只允許綁定到這台機器的job;

c.啟動方式:Lanch slave agents on unix machines  vis SSH;

d.填寫主機ip和剛才生成的憑據;

e.Host Key選Non verifying Verification Strategy,選第一個可能會報錯,但其實是不會的(我已經試過了),節點連接成功標志:Agent successfully connected and online

5.分配任務到節點

在項目中配置:General-->Restrict where this project can be run

6.開始構建踩坑

  前言:做到這兒了,就得總結一下集群slave節點的作用了,把java-maven這個job給了java-node之后,它的構建環境就不在本機10.0.0.27上了,構建環境就轉移到了10.0.0.28上,但是怎么去構建的配置還在項目里寫着,

  也就是說配置里寫什么,10.0.0.28上就得有什么,上一篇博客已經在28上安裝了jdk,但沒有安裝Maven,也沒有升級git,還得job中修改執行shell的語句.

a.第一次構建時,git版本低報的錯,升級git到較高版本即可

 

b.第二次構件,maven的路徑不對

我在10.0.0.28上,把maven裝到了/usr/local下,然后在構建時,jenkins報錯:說在/data/apache-maven-3.3.9下找不到maven,那為什么要去這個路徑下找呢,因為全局工具配置中maven的配置在/data下,有圖有真相,前言里面說過了,配置在27上寫着,28就得跟着有,所以做了個軟鏈就ok了.

c.報錯說找不到deploy-java.sh

目前執行shell的命令是deploy-java.sh testweb 10.0.0.41,因為28上沒有這個腳本,要么把腳本弄過去,要么將命令改為其他語句,如:java -jar target/testweb-$version_tag.jar

7.修改完后,保存,構建

 

 

參考博客:https://yq.aliyun.com/articles/485302

jenkins集成ldap可以參考這兩篇(貌似寫的還行,畢竟我還沒做過):

LinuxPanda:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_liunx_52_ldap_for_jenkins.html

運維咖啡吧:https://blog.csdn.net/weixin_42578481/article/details/81455704


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM