在 Jenkins 中導出/導入作業
一、概述
Jenkins是一個開源 CI/CD 自動化工具,用於交付項目,無論平台如何。在本教程中,我們將學習在兩台不同的機器之間導出和導入 Jenkins 作業。
首先,我們將在 Docker 容器中啟動 Jenkins 服務器。稍後,我們將使用Job Import Plugin和 Jenkins XML 配置將作業從源計算機導出到目標計算機。
2.初始設置
在開始之前,讓我們首先為演示創建一個設置。在這裡,設置包括兩個 Linux VM、一個源計算機和一個目標計算機。當然,在 Linux 中安裝 Jenkins 有不同的方法。通常,最簡單的方法是 Docker 容器。當然,Jenkins 服務器必須在兩台機器上運行。
此外,我們還需要一份樣本作業才能導出和導入。要創建作業,我們需要執行以下幾個步驟:
- 單擊 Jenkins 儀表板中的
New Item
- 設置作業名稱(我們使用
sampleJob
) - 選擇工作類型(我們使用
Freestyle project)
- 保存作業
上述步驟將在源 Jenkins 機器上創建一個基本作業。
3. Jenkins 中的導出/導入作業
在任何情況下,Jenkins 作業都可以通過多種方式移動到不同的服務器上。但是,要將 Jenkins 作業文件從一個實例遷移到另一個實例,我們需要確保源計算機和目標計算機之間的正確連接。
3.1。使用作業導入插件
在 Jenkins 中,作業導入插件允許我們遷移作業。事實上,所有插件都可以從 Jenkins UI 進行管理和安裝。當然,我們在目標機器上安裝 Job Import Plugin。
現在,要導入作業,我們必須更改目標 Jenkins 機器的配置。首先,從 Jenkins 儀表板,我們轉到Manage Jenkins
> Configure System
。接下來,我們向下滾動到Job Import Plugin
部分。
在這裡,我們將添加源 Jenkins 機器的 URL 和憑據。
在這裡,我們填寫所有相關值,然後保存並應用更改。
最後,我們將在 Jenkins 儀表板的左側導航欄中獲得一個Job Import Plugin
項。點擊它,我們可以看到插件提供的選項。
以後,我們可以通過點擊query
按鈕獲取源機的所有作業。此外,當我們使用Import
複選框時,源機器中的作業將被導入目標機器。
3.2.使用jenkins-cli.jar
文件
此外,我們還可以使用jenkins-cli.jar
文件遷移 Jenkins 作業。要下載jenkins-cli.jar
,我們可以訪問http://JENKINS_IP:JENKINS_PORT/jnlpJars/jenkins-cli.jar.
此外,要從源機器導出作業,我們需要源機器的 Jenkins 用戶的密碼。此密碼位於 Docker 容器的stdout
日誌中。
現在讓我們看一下從源機器獲取sampleJob
的配置文件的命令:
$ java -jar jenkins-cli.jar -s http://JENKINS_USER:[email protected]_IP:JENKINS_PORT get-job sampleJob > sampleJob.xml
在這裡,我們有幾條信息,我們需要使用來自源機器的適當值來更新它們:
-
JENKINS_USER
-
JENKINS_PASSWORD
-
JENKINS_IP
-
JENKINS_PORT
重要的是,我們必須從jenkins-cli.jar
所在的目錄運行命令。此外,使用get-job
選項,我們以 XML 格式獲取作業轉儲。
讓我們看看將sampleJob.xml
導入目標機器的命令:
$ java -jar jenkins-cli.jar -s http://JENKINS_USER:[email protected]_IP:JENKINS_PORT create-job sampleJob < sampleJob.xml
同樣,需要替換值,但這一次是根據目標機器。
最後,上述命令讀取sampleJob.xml
文件並在目標機器上導入新作業。
4。結論
在本文中,我們演示瞭如何在不同的 Jenkins 服務器上導出和導入 Jenkins 作業。首先,我們學習了使用 Job Import Plugin 進行導出和導入。之後,我們對jenkins-cli.jar
文件做了同樣的事情。