Jenkins自動化CI CD流水線之4--Master-Slave架構

1、介紹

jenkins的Master-slave分佈式架構主要是爲了解決jenkins單點構建任務多、負載較高、性能不足的場景。java

Master/Slave至關於Server和agent的概念。Master提供web接口讓用戶來管理job和slave,job能夠運行在master本機或者被分配到slave上運行構建。一個master(jenkins服務所在機器)能夠關聯多個slave用來爲不一樣的job或相同的job的不一樣配置來服務。web

2、安裝

前提:slave所在服務器必須有java環境服務器

jenkins web端進行操做:架構

系統管理->管理節點->新建節點oracle

1)進行基礎配置,配置選項中的內容是可變的,根據狀況來分佈式

注意這裏須要配置憑據,也就是配置slave所在服務器用戶和密碼性能

以後保存,若是無誤的話就會直接啓動了,如圖下所示是有問題的spa

 

經過看輸出日誌,咱們發現是jdk的問題,通常來講,其會判斷slave所在服務器有沒有jdk,若是有的話其就會進行檢測(其本身回去幾個路徑下進行檢查),以下圖所示,就是沒有檢查到(由於jdk是咱們本身裝的,路徑並非默認的路徑)。3d

沒有檢查到的話其就會去oracle官網下載,來爲slave所在服務器進行安裝,可是由於中國的緣由,被牆了,因此也會下載失敗,最終就致使完全失敗了,失敗如圖下:日誌

 

有兩種方法解決:推薦方法1:

方法1:

在配置時高級的選項裏指定java路徑:以下圖所示:

方法2:

爲java路徑作一個軟連接,保證jenkins能夠檢測到java。

[root@web ~]# ln -s /usr/local/jdk1.8/bin/java /usr/bin/java
[root@web ~]# ll /usr/bin/java 
lrwxrwxrwx 1 root root 26 Jul 25 17:33 /usr/bin/java -> /usr/local/jdk1.8/bin/java

 以後在看已經成功了!!!!!

而且咱們也能夠在slave所在服務器看到:

jar包就是負責接收master任務的。

3、配置

在項目job中進行配置:

可經過標籤或者名稱進行匹配(標籤可在安裝時配置)

4、構建

咱們能夠發現控制檯的日誌,其也是slave構建的

以後查看構建完的工做目錄,也有咱們預想中的文件。

這樣基本上就實現了藉助jenkins的slave去構建job了。

目前咱們是在slave構建也在slave上部署,以後咱們能夠經過腳本,好比藉助rsync、ansible等部署在其餘服務器上。

5、擴展

咱們也能夠爲咱們的slave服務器在配置時候加上標籤,這樣也會方便咱們選擇,用法也不僅僅侷限在一臺服務器上,可讓多臺slave去競選。

相關文章
相關標籤/搜索