jenkins配置master-slave並發布dubbo服務
阿新 • • 發佈:2018-10-09
$path ppk exp blog ins tps 點擊 img 節點
3. 新建一個JOB進行測試,與普通的dubbo服務構建的差別在於需要配置“參數化構建過程”,如圖:
下拉框中的node選項需要 安裝插件“Node and Label parameter plugin”
4. 運行JOB,配置了“參數化構建過程後”,“立即構建”按鈕消失,出現“Build with Parameters”代替:
點擊運行後,出現NODE列表,選擇需要發布的節點,點擊構建,多選無效,需要發布多個節點則需要操作多次。
發布後,可以看到有兩個正在運行的項目:
到zookeeper客戶端中查看註冊的dubbo服務,可以看到新增了兩個服務提供者
二、配置過程中遇到的問題:
1. 在120中安裝git時,出現404錯誤,原因是yum緩存出錯,執行yum clean all後再安裝即可,但是122卻沒有這個問題,非常奇怪,明明是從同一個鏡像導入的虛擬電腦。
2. jenkins中,默認未安裝node插件,需要手動安裝
3. 安裝slave-agent時,發現會自動下載jek,原因是未在slave節點中配置對應的環境變量,而jenkins並不會讀取/etc/profile中的環境變量
附:
Jenkins Master/Slave架構
摘自:http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html
一 Jenkins Master/Slave架構
Master/Slave相當於Server和agent的概念。Master提供web接口讓用戶來管理job和slave,job可以運行在master本機或者被分配到slave上運行。一個master可以關聯多個slave用來為不同的job或相同的job的不同配置來服務。
當job被分配到slave上運行的時候,此時master和slave其實是建立的雙向字節流的連接,其中連接方法主要有如下幾種:
1)master通過ssh來啟動slave
Jenkins內置有ssh客戶端實現,可以用來與遠程的sshd通信,從而啟動slave agent。這是對*unix系統的slave最方便的方法,因為*unix系統一般默認安裝有sshd。在創建ssh連接的slave的時候,你需要提供slave的host名字,用戶名和ssh證書。創建public/private keys,然後將public key拷貝到slave的~/.ssh/authorized_keys中,將private key 保存到master上某ppk文件中。jenkins將會自動地完成其他的配置工作,例如copy slave agent的binary,啟動和停止slave。但是你的job運行所依賴其他的項目需要你自己設置。
2)master通過WMI+DCOM來啟動windows slave
對於Windows的Slave,Jenkins可以使用Windows2000及以後內置的遠程管理功能(WMI+DCOM),你只需要提供對slave有管理員訪問權限的用戶名和密碼,jenkins將遠程地創建windows service然後遠程地啟動和停止他們。
對於windows的系統,這是最方便的方法,但是此方法不允許運行有顯示交互的GUI程序。
註意:不想其他類型的鏈接方式,此種方式slave(note)的名字非常重要,將被用來當做slave的地址訪問slave。
3)實現自己的腳本來啟動slave
如果上面成套的方法不夠靈活,你可以實現自己的腳本來啟動slave。你需要將啟動腳本放到master,然後告訴jenkins master在需要的時候調用此腳本來啟動slave。
典型地,你的腳本使用遠程程序執行機制,例如SSH,RSH,或類似的方法(在windows,可以通過cygwin或psexec來完成),
在腳本的最後需要執行類似java -jar slave.jar來啟動slave。slave.jar可以從http://yourjenkinsserver:port/jnlpjars/slave.jar下載,也可以在腳本的開始先下載此slave.jar從而保證slave.jar正確的版本。 但是如果使用ssh slave plugin的話,此plugin將自動地更新slave.jar。
4)通過Java web start來啟動slave
jave web start(jnlp)是另一種啟動slave的方法。用這種方法你需要登錄到slave,打開瀏覽器,打開slave的配置頁面來連接。還可以安裝為windows service來使得slave在後臺運行。
如果你需要運行的程序需要UI的交互,使用下面的方法:在slave系統上創建jenkins用戶,設置自動登錄,在系統的startup items增加slave JNLP文件的快捷方式,使得slave在系統登錄的時候自動啟動。
5)直接啟動slave
此方式類似於java web start,可以方便地在*unix系統上將slave運行為daemon。需要配置slave為JNLP類型連接,然後在slave機器上執行
java -jar slave.jar -jnlpUrl http://yourserver:port/computer/slave-name/slave-agent.jnlp
二 Slave配置的好的建議
* 每個slave都有用戶jenkins,所有的機器使用相同的UID和GID,使得slave的管理更加簡單;
* 每個機器上jenkins用戶的home目錄都相同/home/jenkins, 擁有相同的目錄結構使得維護簡單;
* 所有的slave運行sshd,windows運行cygwin sshd;
* 所有的slave安裝ntp client,用來與相同的ntp server同步;
* 使用腳本sh來自動地配置slave的環境,例如創建jenkins用戶,安裝sshd,安裝java,ant,maven等;
* 使用腳本來啟動slave,保證slave總是運行在相同的參數下:
#!/bin/bash JAVA_HOME=/opt/SUN/jdk1.6.0_04 PATH=$PATH:$JAVA_HOME/bin export PATH java -jar /var/jenkins/bin/slave.jar
從有道雲筆記中復制,格式會有變化。
一、配置步驟 1. 使用已有的虛擬電腦備份(CentOS7.2, 安裝有JDK8、MAVEN3.5、JENKINS2.73.3-1.1、GIT1.8.3.1)、分別導入為兩臺測試用的虛擬電腦(IP分別設置為120、122,其中120當作MASTER,122當作SLAVE) 2、 登錄120的Jenkins,進入“系統管理/管理節點”,新建一個SLAVE節點,節點信息如下圖: 創建後可以在節點列表中看到新增的節點,進入slave節點運行,會在122中安裝slave-agent,如果未配置JAVA的環境變量,會從ORACLE官網下載(當然是下不成功的):
jenkins配置master-slave並發布dubbo服務