Jenkins實踐文檔(4)

Jenkins應用管理

激活

  1. 安裝Jenkins之後訪問 172.16.246.207:8080

  2. 根據頁面提示輸入管理員密碼解鎖Jenkins配置

    通常密碼在頁面上都有所提示,例如 /var/lib/jenkins/secrets/initialAdminPassword

管理界面

登陸Jenkins之後, Jenkins -> Manage Jenkins,

通常對應的url是 http://172.16.246.207:8080/manage

manage_jenkins.png

插件管理

通常我們剛剛安裝完Jenkins之後,在主界面的通知欄,或Jenkins管理界面前面看到許多錯誤的信息,一般都是由於缺失某些插件造成,這時候可以按照提示,到插件管理的頁面,將對應插件安裝。

進入 Jenkis 管理界面 之後, Manage Jenkins ->Manage Plugins,

通常對應的url是 http://172.16.246.207:8080/pluginManager/

manage_plugins.png

手動安裝插件

如果有插件一直安裝失敗的情況,可以從jenkins官網下載插件,然後導入到jenkins。

Manage Jenkins ->Manage Plugins ->高級 ->上傳插件,

通常對應的url是:http://172.16.246.207:8080/pluginManager/advanced

manage_plugins_upload.png

作業管理

注:這裏的作業,有時候也稱作任務。

前提

  1. 待觸發的構建腳本

    發生相應觸發條件(比如後面監視的Git項目被更新等等),執行特定的腳本,這裏暫時也稱構建腳本。

    這裏給出一個例子,假設腳本路徑: 172.16.246.207:/var/lib/jenkins/myshell/test/test_trigger1.sh, 屬於jenkins用戶,腳本內容:

    #!/bin/bash
    echo "測試觸發執行1"
    sleep 2
    echo "腳本執行工作路徑爲:$(pwd)"
    A=1
    while [ $A -le 13 ];
    do
        echo "Step $A"
        sleep 1
        A=$(expr $A + 1)
    done
    echo "測試執行完畢"
    

    當然隨着需求,不同的任務作業可能會執行不同的觸發腳本,後面需要時會提及。

  2. 監視的Git項目

    此處假設被監視項目源碼地址爲: ssh://[email protected]:/home/szic/test/jenkins_git_repo, 在此項目上發生一定條件會觸發執行構建腳本。

  3. 權限添加

    因爲有些過程需要通過ssh遠程執行,而jenkins自動執行的過程中要求不能在執行過程中交互輸入密碼驗證,所以需要提前添加好需要遠程訪問的用戶與主機的授權信息以實現免密直接遠程執行。

    1. 用於執行構建腳本的權限

      jenkins@vmcnszs207:~$ ssh-copy-id [email protected]
      

      因爲將要執行172.16.246.207下jenkins用戶目錄中的一個腳本,所以需要將遠程訪問[email protected]的授權信息添加。(注意:這裏,其實本身訪問者就是[email protected],直接用本地路徑而不用ssh訪問即可,這裏只是爲通用起見,採用了遠程ssh執行的方式進行。

    2. 用於獲取待監視Git項目代碼的權限

      jenkins@vmcnszs207:~$ ssh-copy-id [email protected]
      

      這樣會自動將當前 jenkins 用戶的 .ssh/id_rsa.pub 文件內容追加至在 172.16.246.207szic 用戶目錄下 .ssh/authorized_keys 文件中,實現免密ssh登陸(即 ssh [email protected]),因此可以後面的過程中直接連接添加的 172.16.246.207 下的git項目。

    3. 其它權限

      如果需要用ssh訪問其它主機對應的其它用戶,需要同樣用 ssh-copy-id 的方式添加授權,實現免密執行。

添加新任務作業

這裏講述的任務作業主要有三種類型:

  • 觸發式任務作業: 發生一定條件自動觸發構建腳本。
  • 參數任務作業: 執行構建時需要傳入一個參數。
  • 計劃任務作業: 按照一定週期定期自動構建(屬於觸發式構建的一種)。
  1. 通用設置

    1. 在登錄界面執行 Jenkins ->新建任務, 通常對應的界面爲: http://172.16.246.207:8080/view/all/newJob

      根據需求,輸入Job基本信息,如:名稱、類型。

      如圖:

      newjob1.png

    2. 選擇監視的項目源碼

      這裏選擇監控git項目,項目路徑若在本地直接填寫本地路徑,若在遠程需ssh下載,則需前面 ssh-copy-id 添加的信息。

      添加操作如圖:

      newjob2.png

    3. 設置執行的構建腳本

      同樣,如果遠程執行腳本,也需要用 ssh-copy-id 添加相應的授權信息。

      設置操作如圖:

      newjob3.png

  2. 觸發式任務設置

    假設需求是:某Git項目如果發生變化,就觸發執行某腳本,這個時候,就需要添加觸發式任務了。

    在前面添加任務(參見: 添加任務 (參見第2.3.4.2節) ),或者編輯任務(參見: 編輯已有任務作業 (參見第2.3.4.5節) )的時候,可以添加觸發式任務的屬性。

    1. 設置構建觸發器

      這樣可以通過特定的URL觸發構建過程,對於有些時候利用 git hook 腳本檢測的用戶提交代碼後,自動訪問該URL,導致觸發,很有用。

      1. 選擇 觸發遠程構建 ,並通過添加 token name 來標識觸發任務構建的特定URL,如下:

        newjob4.png

      2. 如上設置之後,點擊 保存 ,即可創建好對應的觸發式任務,並獲取觸發執行的URL。

        假設這裏設置的觸發token名稱如圖爲 trigger_test1_token, 實踐發現,此時在瀏覽器中,直接按照提示鍵入URL: http://172.16.246.207:8080/job/trigger_test1/build?token=trigger_test1_token, 即可觸發構建腳本(此時跳轉到一個空白頁面),但是如果事先瀏覽器中沒有登陸過,鍵入如上URL後需要登陸用戶纔可觸發,在外部工具如 curl 等直接向該URL發送請求,並不會觸發任務執行,需要特定用戶特定令牌環信息纔可通過外部工具直接發送URL觸發,參見後面 添加用戶令牌 (參見第2.3.4.2.2.2節)。

    2. 添加用戶令牌

      主要是爲了設置用戶觸發特定觸發器URL的TOKEN,以防所有人都能通過構建觸發器的特定URL觸發構建。

      設置好構建觸發器之後,需要再爲特定的用戶獲取一個授權token,然後通過外部工具向觸發器的特定URL觸發作業構建的時候,加入這個用戶token的授權信息才能觸發。

      1. 選擇 Jenkins->用戶列表

        newjobtoken1.png

      2. 再選擇 設置, 並創建用戶對應的令牌

        newjobtoken2.png

      3. 拷貝令牌:

        newjobtoken3.png

        拷貝之後,不用點擊頁面上的 保存 也可(注意,需要自行記錄拷貝的token,因爲之後將無其它方式再次獲取此token只能更新重新獲取新的)。

      安全起見,建議令牌環每隔一段時間更新一次。

      至此,獲取到用戶的Token,可以利用如curl等工具,結合該token與任務作業的觸發器URL,觸發構建腳本。具體參見 測試觸發執行任務 (參見第2.3.4.4節) 部分。

    3. 設置執行的構建腳本

      這裏直接使用 設置執行的構建腳本 (參見第2.3.4.2.1.3節) 的設置。

  3. 參數式任務設置

    假設需求是: 執行任務時,會將參數傳入構建腳本,並執行。

    這裏創建的任務是參數式任務,假設前面通用過程中設置的任務名稱是 param_test

    1. 設置參數信息

      包括參數名稱、默認值、以及描述信息,過程如下:

      newpjob1.png

      newpjob2.png

      newpjob3.png

    2. 設置執行的構建腳本

      這裏,腳本的設置與前面不同,需要帶有參數信息,可以將前面的參數名稱傳遞給腳本,待執行的腳本內容如下:

      #!/bin/bash
      echo "測試參數執行"
      echo "腳本執行工作路徑爲:$(pwd)"
      echo "腳本執行參數爲:$1"
      echo "測試執行完畢"
      

      設置如下:

      newpjob4.png

      newpjob5.png

      注:最後點擊 保存 即可。

  4. 計劃式任務設置

    假設需求是: 按照一定的週期執行任務。

    這裏創建的任務是計劃式任務,假設前面通用過程中設置的任務名稱是 cron_test

    1. 設置構建觸發器

      這樣可以按照特定的時間規則觸發構建過程,對於有些時候比如定期發佈新版本,很有用。

      1. 選擇 定時構建 ,並通過添加 日程表 內容來標識計劃任務構建的規則,如下:

        newcjob1.png

      2. 關於計劃規則,參見cron命令的規則, man手冊: man 5 crontab

        大致如下:

        配置描述計劃任務配置信息,每行的基本格式如下:
        *  *  *  *  *
        
        總共六個字段,每個字段對應含義分別爲:
        分 時 日 月  周
        
        每個部分以空格分隔,除了最後一個部分(命令)可以在內部使用空格之外,其他部分都不能使用空格。
        
        例如:
        30 20 * * *
        表示每天的20:30。
        
    2. 設置執行的構建腳本

      這裏的方式與 設置構建腳本 (參見第2.3.4.2.1.3節) 中的方法一樣,不詳細描述,

      腳本如下:

      #!/bin/bash
      echo "測試計劃執行"
      echo "腳本執行工作路徑爲:$(pwd)"
      echo "執行時間爲:$(date "+%F %T")"
      echo "測試執行完畢"
      

      設置截圖:

      newcjob2.png

測試執行任務

  1. 測試執行任務

    1. 方式一、在Jenkins任務界面執行

      如下:

      1. 找到 Jenkins->待執行任務

        如圖:

        execjob1.png

        這裏,點擊任務後面的執行任務按鈕也行,或者進入任務到後面的界面執行。

      2. 執行任務

        進入任務界面之後,點擊 立即構建 即可,如圖:

        execjob2.png

    2. 方式二、在視圖中直接執行

      1. 選擇 Jenkins->我的視圖 如下:

        newjobtest1.png

        注:如果沒有 我的視圖, 可以在 Jenkins->新建視圖 中添加。

      2. 執行剛剛添加的任務如下:

        newjobtest2.png

    3. 對於參數任務的執行

      1. 找到 Jenkins->待執行任務

        如圖:

        newjobptest1.png

        這裏,點擊任務後面的執行任務按鈕也行,或者進入任務到後面的界面執行。

      執行過程類似,給出兩種方式:

      • 方式1. 視圖中直接執行

        選擇如圖:

        execpjob1.png

        填入參數並執行,如圖:

        execpjob2.png

      • 方式2. 進入任務界面後執行

        進入任務界面如圖:

        execpjob3.png

        選擇 Build with Parameters 並填入參數構建如圖:

        execpjob4.png

  2. 查看任務執行歷史情況

    1. 選擇 Jenkins->構建歷史 如下:

      newjobtest4.png

    2. 在前面點擊任務對應的終端圖標後,便可以看到任務執行的情況(成功、失敗、以及執行中的輸出等),如下:

      newjobtest5.png

測試觸發執行任務

假設我們要觸發執行的任務,其觸發式信息在 觸發式任務設置 (參見第2.3.4.2.2節) 設置了。大致信息是:

  • 任務作業: trigger_test1
  • 作業觸發器token名: trigger_test1_token
  • 獲取到用戶的Token之後,用戶 szic 的token爲 11ad4c850981f9ec225774804a8559b512

可以類似如下的方式直接觸發腳本:

$curl -X POST 172.16.246.207:8080/job/trigger_test1/build?token=trigger_test1_token --user szic:11ad4c850981f9ec225774804a8559b512
#或者
$curl -X POST szic:[email protected]:8080/job/trigger_test1/build?token=trigger_test1_token

實踐發現,雖然我們已經有了用戶Token可以直接通過 curl 等外部命令發送請求觸發任務,但是如果在瀏覽器上訪問: [[http://szic:[email protected]:8080/job/trigger_test1/build?token=trigger_test1_token]] 仍然只能在登陸Jenkins之後,才能觸發。如果沒有登陸,瀏覽器也會提示輸入登陸用戶密碼後,才能跳轉到一個空白的頁面(表示已經觸發了構建腳本)。

一般常用的方式是可將相應觸發命令添加到git的相應hook中,使其能夠在特定的時機(比如push)來觸發任務,執行到構建腳本。

編輯已有任務作業

  1. 找到 Jenkins->待編輯作業

  2. 進入編輯選項編輯作業

    可以點擊待編輯作業右面的小三角,然後選擇編輯按鈕如下:

    editjob1.png

    也可直接點擊待編輯作業,然後選擇右面的 配置 按鈕,如下:

    editjob2.png

另外,這裏還可以看到編輯歷史等信息。

刪除任務

  1. 找到 Jenkins->待刪除作業

  2. 進入編輯選項刪除作業

    可以點擊待刪除作業右面的小三角,然後選擇 刪除項目 按鈕如下:

    deljob1.png

    也可直接點擊待刪除作業,然後選擇右面的 刪除項目 按鈕,如下:

    deljob2.png

用戶管理

選擇路徑: 系統管理->管理用戶, 通常對應的 URL 是 http://172.16.246.207:8080/securityRealm/

操作如圖:

newuser1.png

newuser2.png

創建新用戶

  1. 點擊 新建用戶 ,即可進入添加用戶的頁面。

    newuser3.png

  2. 然後填入用戶信息,主要是用戶名、密碼、郵箱等。

    newuser4.png

編輯用戶

  1. 選擇路徑: 管理用戶->待編輯的用戶, 可以直接點擊右側的配置圖標,或者直接點擊對應用戶。

    setuser1.png

  2. 編輯用戶

    這裏可以對用戶名稱、token等信息進行設置

    setuser2.png

權限管理

確定權限

管理權限前,需要確定相應的用戶,以及將要被分配給用戶的權限。

創建的用戶可參照前面 創建新用戶 (參見第2.3.5.1節) 的方式添加相應用戶,下面是他們將會具有的權限:

  • szic: 管理系統
  • tester: 查看系統,管理系統中所有任務作業
  • test_manager: 管理特定的任務作業
  • test_developer: 執行任務作業
  • Anonymous: 只讀,即直接進入Jenkins主頁後,不登陸狀態下能看到的內容。

安裝 role-strategy 插件

進入插件管理器,安裝插件 Role-based Authorization Strategy 。便於可以爲不同用戶或組使用不同的權限策略。

選擇路徑:

  • Jenkins->插件管理
  • 可選插件->過濾輸入"Role-based AuthorizationStrategy"->選中列表的"Role-based Authorization Strategy ->直接安裝

具體方式參見: 插件管理 (參見第2.3.3節) 。這裏安裝如下:

plugin_role1.png

plugin_role2.png

如果無法直接安裝可以手動下載安裝,下載地址: role-strategy

全局安全配置

這裏將使用剛剛安裝的 role-strategy 插件的策略管理權限。如下:

  1. 選擇路徑: 系統管理->全局安全配置

    manage_security1.png

    manage_security2.png

  2. 找到 授權策略->Role-Based Strategy

    manage_security3.png

管理角色

進入 role-strategy 插件, 選擇路徑: Jenkins->Manage and Assign Roles->Manage Roles

manage_security4.png

manage_security5.png

不同的角色,對應不同的權限範圍。

  1. 添加全局角色(Global roles)

    全局角色負責對系統權限的管理控制。

    這裏有兩個管理角色,不同角色有不同的管理權限:

    • admin:對整個jenkins都可以進行操作
    • ops:可以對所有的job進行管理
    • others: 只有讀的權限

    添加信息對應如下:

    manage_security6.png

    manage_security7.png

    注意保存。

  2. 添加項目角色(Item roles)

    項目角色負責對項目權限的管理控制,也就是任務作業的管理權限。

    這裏有兩個管理角色,不同角色有不同的管理權限:

    • test_job_manager:只對特定任務作業(這裏是 test_job )有管理權限。
    • test_job_developer:特定任務作業(這裏是 test_job )只有構建、瀏覽、以及查看項目的權限。

    添加過程如下:

    manage_security8.png

    manage_security9.png

    manage_security10.png

    注意保存。

分配角色

前面創建的各種角色,將分配給不同的用戶,實現對其的權限控制。

  1. 選擇 Manage and Assign Roles->Assign Roles

    如下:

    manage_security11.png

  2. 分配 Global RolesItem Roles

    如下:

    manage_security12.png

    manage_security13.png

注意保存。

檢查設置後的權限

最後每個人看到的系統界面,根據權限不同,如下:

節點管理

關於節點

節點是Jenkins實現分佈式部署的途徑,一臺Jenkins實現多臺服務器的部署.簡單的舉個例子,我們有一臺Jenkins服務器,有兩臺甚至多臺的生產服務器需要我們Jenkins去部署、構建等操作。在大中型的項目中,Jenkins是與生產服務器部署在不同的服務器上面的,但是需要Jenkins服務器去管理生產服務器,這時候一臺生產服務器就是Jenkins的一個節點,多個就是多個節點。

從節點

  1. 從節點環境

    1. 操作系統

      root@cnszs215:/etc/apt/sources.list.d# cat /etc/issue
      Ubuntu 14.04.4 LTS \n \l
      

      這裏簡單介紹下從節點環境搭建過程,後面將從主節點操作連接從節點,並遠程在從節點上執行任務作業。

    2. SSH認證

      這裏,假設主節點是 172.16.246.207, 從節點是 172.16.246.215

      從節點可能會通過 ssh 方式訪問主節點(比如下載代碼)。

      事先需要爲從節點配置相關的sshkey,以及免密登陸,如下:

      jenkins@cnszs215:~$ ssh-keygen 
      Generating public/private rsa key pair.
      Enter file in which to save the key (/home/jenkins/.ssh/id_rsa): 
      Enter passphrase (empty for no passphrase): 
      Enter same passphrase again: 
      Your identification has been saved in /home/jenkins/.ssh/id_rsa.
      Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub.
      The key fingerprint is:
      0c:05:49:37:4d:61:0c:44:c8:0d:c7:83:f6:35:da:76 jenkins@cnszs215
      The key's randomart image is:
      +--[ RSA 2048]----+
      |     o+@O=+.     |
      |      *++o=      |
      |     ... = .     |
      |       oo o E    |
      |        S. .     |
      |                 |
      |                 |
      |                 |
      |                 |
      +-----------------+
      jenkins@cnszs215:~$ ssh-copy-id [email protected]
      /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
      /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
      [email protected]'s password: 
      
      Number of key(s) added: 1
      
      Now try logging into the machine, with:   "ssh '[email protected]'"
      and check to make sure that only the key(s) you wanted were added.
      
    3. JDK信息

      從節點需要安裝JDK環境,並且JDK環境要與主節點版本匹配。

      如果從節點JDK環境與主節點設置不一致,則在主節點添加完從節點,連接之時會出現類似如下錯誤:

      newnode_fail.png

      1. 檢查主節點JDK環境

        假設主節點JDK環境如下:

        jenkins@vmcnszs207:~$ java -version
        openjdk version "11.0.7" 2020-04-14
        OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
        OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
        
      2. 設置從節點JDK環境

        從節點按照如下命令安裝與主節點版本匹配的JDK:

        #apt-get install openjdk-11-jdk
        #java -version
        root@cnszs215:/etc/apt/sources.list.d# java -version
        openjdk version "11.0.5" 2019-10-15
        OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-2ubuntu114.04)
        OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-2ubuntu114.04, mixed mode, sharing)
        

        注:如果從服務器沒有openjdk-11-jdk安裝包,可能需要添加源,Ubuntu14.04的源添加信息如下:

        root@cnszs215:/etc/apt/sources.list.d# pwd
        /etc/apt/sources.list.d
        root@cnszs215:/etc/apt/sources.list.d# cat openjdk-r-ppa-trusty.list 
        deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main
        # deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main
        

        可能會很慢。

  2. Jenkins用戶

    主節點連接從節點的指定用戶,這裏假設是以Jenkins用戶做爲從節點的Jenkins用戶,實際按需進行。

    如下命令創建相應的Jenkins用戶,並設置用戶登陸密碼:

    #useradd -d /home/jenkins jenkins
    #passwd jenkins
    

主節點

即安裝了Jenkins服務的主機。

  1. 插件安裝

    安裝 SSH Build Agents 插件,這樣在後面添加節點的時候, 啓動方式 選項中才會有 Launch agents via SSH 這個啓動方式。

  2. 添加從節點

    • 選擇路徑: Jenkins->系統管理->節點管理

      newnode1.png

      newnode2.png

    • 進入節點管理後: 依次進行的過程: 新建節點->輸入節點名稱(這裏爲MSAF_BUILD)->選擇固定節點->確認

      newnode3.png

    • 對新建節點信息進行配置

      newnode4.png

      注:這裏遠程工作目錄即從節點jenkins用戶的主目錄,具體可按需配置;標籤用來在給任務作業分配節點時匹配使用。

    • 添加認證信息: 在 啓動方式->主機 之處,這裏使用ssh用戶登陸信息做爲憑據。

      newnode5.png

      newnode6.png

      注:這裏必須在主節點上先登陸一次從節點,以有從節點的記錄,才能保證後續節點啓動時連接的成功。

      下面是207主節點、203從節點的例子,鍵入 yes 後,203成爲 known hosts ,才能保證從節點啓動成功:

      jenkins@vmcnszs207:~$ ssh 172.16.246.203
      The authenticity of host '172.16.246.203 (172.16.246.203)' can't be established.
      ECDSA key fingerprint is SHA256:b7q9WVRQVm/HY25UWznwKhPDLbOPigTB3nC/bavK7xg.
      Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
      Warning: Permanently added '172.16.246.203' (ECDSA) to the list of known hosts.
      [email protected]'s password:
      
    • 查看新添加節點: 上述過程保存之後,可以看見新添加的節點

      newnode7.png

    • 選擇進入節點並啓動代理:

      newnode8.png

      注意:在這個界面中也可再次對節點信息進行修改配置。

    • 連接代理成功並看到正常的狀態

      newnode9.png

      newnode10.png

      注意:這裏需要保證從節點的JDK版本和安裝了Jenkins服務的主節點JDK版本一致,否則會連接失敗,參見: JDK信息 (參見第2.3.7.2.1.3節) 。

  3. 添加只在新從節點上執行的任務作業

    1. 新建一個任務作業,依次選擇 限制項目的運行節點-填入標籤表達式

      node_job1.png

      標籤表達式填寫成與前面建立節點時的標籤一致,這樣任務作業便只會限定在指定的節點上進行。

    2. 填寫項目源代碼信息(如果有的話)

      node_job2.png

      注意:這裏憑據方面,需要對前面相關ssh認證進行配置方可,否則無法下載代碼,參見: SSH認證 (參見第2.3.7.2.1.2節) 。

      代碼將下載到之前爲子節點設定的主目錄的 workspace 下,這裏是: /home/jenkins/workspace/test_msaf

    3. 指定項目構建執行腳本

      node_job3.png

      腳本路徑是相對於子節點 172.16.246.215 而言的路徑。

      腳本內容如下:

      jenkins@cnszs215:~/myshell/test$ cat test_node_exec.sh 
      #!/bin/bash
      echo "測試遠程執行1"
      sleep 2
      echo "腳本執行工作路徑爲:$(pwd)"
      echo "腳本執行所在node的網絡信息"
      ip addr
      A=1
      while [ $A -le 13 ];
      do
              echo "Step $A"
              sleep 1
              A=$(expr $A + 1)
      done
      echo "測試執行完畢"
      
    4. 查看到執行情況如下:

      node_job4.png

      node_job5.png

      注:如果從節點被斷開,那麼任務會被掛住,等待從節點啓動後再執行。現象如下:

      node_job5_1.png

  4. 添加隨機在主節點和新從節點之間執行的任務作業

    過程與前面 添加只在新從節點上執行的任務作業 (參見第2.3.7.3.3節) 相同,不同之處在於不限定執行的主機:

    1. 新建一個任務作業,項目基本之處選擇 在必要的時候併發構建

      node_job6.png

      選擇併發構建應當不是必須的,這裏只是爲了提現出隨機性(不選擇,則發現一般都會在從節點上執行,也可能是概率,有待實踐)。

    2. 爲避免構建於不同主機上路徑不一致的文件,直接將腳本內容填寫到待執行構建步驟:

      node_job7.png

    3. 在任務列表中,多點擊幾次後,執行過程如下.

      node_job8.png

      注:如果從節點被斷開,那麼任務會直接被分配到主節點上進行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章