jenkins 分佈式構建

jenkins 分佈式構建

​ 什麼是Jenkins的分佈式構建和部署?
​ Jenkins的分佈式構建,在Jenkins的配置中叫作節點,分佈式構建可以讓同一套代碼或項目在不一樣的環境(如:Windows和Linux系統)中編譯、部署等java

​ 何時使用節點和做用?
​ 當咱們使用多臺服務器時,而且配置了tomcat或jboss集羣服務,可經過jenkins的節點配置,將jenkins項目發佈在不一樣服務器上(分佈jenkins工做空間,部署項目到不一樣服務器的tomcat或jboss),這就造成了jenkins的分佈式。節點服務器不須要安裝jenkins(只須要運行一個slave節點服務),構建事件的分發由master端(jenkins主服務)來執行。node

​ 節點服務器的要求
注意:若是節點主機上不存在JDK,Jenkins會去自動下載,但Oracle對程序自動下載作了限制,會致使下載失敗,而後一直循環這個問題
建議:全部Linux或者Windows機器的環境路徑統一(如:JDK、Maven),安裝位置和jenkins所在服務器的JDK和maven必須一致,也就是說jenkins所在服務器和各個節點服務器中的JDK和Maven目錄和文件名都是同樣的。以便於管理、不容易出現問題tomcat

​ 節點管理
​ 一般的狀況下在咱們的一個項目當中,項目會有多個分支系統,而咱們不可能爲每一個分支系統都配置一個jenkins服務,這樣既浪費資源,也增長構建部署的難度,爲了解決這個問題jenkins給使用者提供了很是強大的分佈式部署功能,也就是節點的管理,咱們只須要在master節點配置好jenkins服務,經過指定slave節點來進行對應的系統進行部署就能夠達到分佈式部署。服務器

一.創建節點

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

jenkins分佈式001

jenkins分佈式003

jenkins分佈式002

二.配置節點

1. 須要配置好節點的java環境變量​

[root@caosm ~]# java -version
   java version "1.8.0_144"
   Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
   Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

   [root@caosm ~]# vi /etc/profile
   export JAVA_HOME=/usr/java/jdk1.8.0_144
   export JRE_HOME=/usr/java/jdk1.8.0_144/jre
   export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:JRE_HOME/lib:CLASSPATH
   export PATH=JAVA_HOME/bin:PATH

2. 配置好節點的免密登陸,使master能夠免密登陸到slave。

3. 建立好節點的工做目錄

[root@caosm ~]# mkdir node-1

4. 啓動節點進行檢查

jenkins分佈式004
jenkins分佈式005

jenkins分佈式006

三.建立pipline 工程進行測試

1.語法介紹:

節點
agent { node { label 'labelName' } }行爲相同 agent { label 'labelName' },但node容許其餘選項(如customWorkspace)
標籤
使用提供的標籤在Jenkins環境中可用的代理上執行管道或階段。例如:agent { label 'my-defined-label' }

2.新建pipline-hello工程,使用的是節點模式進行測試

pipeline {
    agent { node { label 'node-1' } }
    stages { 
        stage('make node-1'){
            steps {
            echo "make script : make node-1"
            sh 'mkdir -p /usr/local/node-1'
            }
        }       
    }
}

2.1檢查發佈結果

jenkins分佈式007

[root@caosm ~]# ls /usr/local/
bin  etc  games  include  java  lib  lib64  libexec  node-1 sbin  share  src

3.使用標籤模式語法進行測試

pipeline {
    agent { label 'node-4' }
    stages { 
        stage('make node-4'){
            steps {
            echo "make script : make node-4"
            sh 'mkdir -p /usr/local/node-4'
            }
        }       
    }
}

注意:label 這裏寫的是標籤的名稱maven

3.1新建pipline-node-4工程,檢查發佈的結果

jenkins分佈式009

[root@caosm ~]# ls /usr/local/
bin  etc  games  include  java  lib  lib64  libexec  node-1  node-2  node-4  sbin  share  src
相關文章
相關標籤/搜索