Jenkins觸發遠端Job的幾種方式

2021-09-07 20:37:48 字數 2047 閱讀 7153

本文敘述基於以下假設前提,將介紹三種在不同的jenkins伺服器之間觸發job的方法:

本地jenkins server local.jenkins.com

遠端jenkins server remote.jenkins.com

本地jenkins job名 local_job

遠端jenkins job名

remote_job

需求 在local_job完成後自動觸發remote_job

一、在remote_job上配置build trigger:

步驟:1.在jenkins web gui上配置remote_job的build trigger為trigger build remotely.(其他build triggers方式具體見文件,本文不贅述)

2. 在遠端jenkins server上配置使用者:

在web上進入下面目錄建立專用的jenkins user:jenkins>manage jenkins>manage users>create user. 本文中建立的user為「remote_user」. 然後配置remote_user的api token(建立完成後,logout當前user,然後以remote_user的身份登入,否則看不到remote_user的api token),進入目錄jenkins>people>remote_user>configure:

此時,在任何網路能夠連線到remote.jenkins.com的地方都可以通過執行以下shell命令觸發remote_job:

3. 如果想通過local_job觸發remote job,只需要在local_job中新增一條上面的shell命令即可實現。

二. 從local_job遠端觸發remote_job

這種方法本質上和第一種方法相同,區別在於第一種方法是在remote_job上進行配置,而這種方法是通過local_job的pipeline實現.

步驟:1. 安裝plugin:parameterized remote trigger. 在jenkins web gui上,jenkins>manage jenkins>manage plugin, 找到parameterized remote trigger並安裝.

2. 在本地jenkins server中配置remote trigger,認證方式推薦使用username+api token(由於username+password方式可能會由於安全要求經常變更),進入配置目錄:jenkins>manage jenkins>configure system

4. local_job需要是乙個pipeline project,使用pipeline syntax,填寫需要的引數,生成pipeline**即可(如果沒有進行上一步的配置,也可以在pipeline**中指定這些配置資訊,下圖的情況是已經按照上一步進行了配置):

在local_job的pipeline中加上剛才生成的**即可觸發remote_job。

三. 通過檢測遠端檔案變化間接觸發

前兩種方式都有乙個前提,那就是本地jenkins server和遠端jenkins server之間網路必須互通,如果他們分別在兩個隔絕的網路環境中,則前兩種方式是無法實現遠端觸發的。此時可以通過乙個中間檔案的內容作為標誌,以決定是否觸發remote_job.

本地jenkins servers上的任務local_job每次成功完成後,更新aws s3上的檔案s3://jenkins-trigger/revision的內容。

在遠端jenkins server上,remote_job同級目錄下新建乙個pipeline jenkins job,命名為scanner,用它來呼叫remote_job,設定其每五分鐘檢測一次位於aws s3上的檔案s3://jenkins-trigger/revision的內容,與遠端jenkins server上儲存的該檔案副本進行比較,如果內容不相同,則觸發remote_job任務。

示例**,在local_job中的pipeline**:

jenkins 啟動多個job以及獲取返回值

pipeline中各個節點的介紹 獲取bat返回值 啟動多個job node master currentbuild.description foodescription stage build wait false stage build1 stage build2 stage build3 這是...

Jenkins構建觸發器

使用jenkins,一定會用到它的定時構建功能,筆者就近期使用到的構建定時觸發器做以簡單覆盤 首先,你得有乙個jenkins平台,不管是自己搭建的還是用公司已搭建好的 其次,你得有你要構建的指令碼,且該指令碼已經放到搭建jenkins的伺服器上,並能正常在該伺服器上執行 最後,如果以上兩點你都不具備...

jenkins 構建觸發器

build after other projects are built 在其他專案構建完成後再進行構建。這裡又分三種情況 trigger only if build is stable 其他專案構建成功 trigger even if the build is unstable 其他專案不穩定 t...