Jenkins是一個DevOps工具,可以用來自動構建、測試和交付軟件代碼。如果你是Jenkins的新手,本教程將幫助你理解如何使用以下方法之一創建Jenkins流水線(Pipeline):
-
經典的Jenkins用戶界面 -
Jenkins Blue Ocean用戶界面,減少雜波並增加清晰度 -
Git倉庫Jenkinsfile管道腳本
方法1:從經典的Jenkins UI創建流水線
打開Jenkins菜單,點擊Create New Item
。輸入流水線的名稱:Test-Pipeline
。從選項列表中選擇Pipeline
。單擊Ok
,如下所示。
一旦創建了測試流水線,就編輯流水線。單擊Pipeline
選項卡,並粘貼以下代碼。這個示例代碼有三個簡單的階段,每個階段中定義了步驟。對於這個簡單的示例,steps部分只有echo命令,它將輸出一條消息。
pipeline {
agent any
stages {
stage('Stage 1: Integrate Web and DB') {
steps {
echo '1.1 Getting application web files'
echo '1.2 Getting database files'
echo '1.3 Combining web and db files'
}
}
stage('Stage 2: Integration testing') {
steps {
echo '2.1 Performing integration testing'
}
}
stage('Stage 3: Release to Prod') {
steps {
echo '3.1 Releasing code to production'
}
}
}
}
當管道被選中時,點擊側菜單欄中的Build Now
,將執行如下所示的流水線。
流水線執行之後,您可以從側面菜單欄上的Console output
菜單項查看日誌,如下所示。
方法2:從Blue Ocean接口創建流水線
Blue Ocean爲Jenkins提供了更好的用戶體驗。這個UI是爲Jenkins管道從頭設計的,減少了混亂,增加了UI的清晰度。
首先,搜索blue ocean
,並從插件管理器安裝blue ocean
插件。安裝插件後,重新啓動Jenkins。
在Jenkins服務器上,爲blue ocean
安裝一個本地git
倉庫,以便在流水線中使用。
sudo yum install git -y
cd /var/lib/jenkins
mkdir localgit
cd localgit
git clone https://my-git-repor-url/v1/repos/BinCode
注意:我給出的git倉庫路徑爲/var/lib/jenkins/localgit/BinCode
安裝完插件後,你會在側邊欄上看到一個名爲Open Blue Ocean
的菜單項,如下圖所示:
您還可以通過將/blue附加到jenkins URL
直接訪問blue ocean UI
。例如:http://192.168.101.100:8080/blue
第一次,Blue Ocean
將在本地git存儲庫中查找Jenkinsfile,併爲每個包含Jenkins文件的分支運行一個管道。
由於我們還沒有創建Jenkinsfile,它將顯示一個從用戶界面創建新管道的提示。管道創建UI將引導您完成創建新管道的步驟。首先,單擊start旁邊的+
。點擊Add a Step
,選擇Print Message
,如下圖所示。
輸入消息後,單擊後退箭頭返回。先不要點擊Save。
添加另一個步驟-Print Message
- 1.2Getting database files
-單擊後退箭頭返回。
重複上面的第3個echo步驟,如下所示。
在創建所有三個階段之後,單擊Save按鈕保存流水線。您可以將更改提交給主服務器,或者創建一個新的分支。對於本例,選擇Commit to new branch
,並給出名稱爲jenkins
,如下所示。
一旦管道被創建並執行,它將顯示每個階段的狀態。單擊特定的stage名,查看對應的stage輸出,如下所示。
在Jenkins服務器上,您可以看到現在已經爲您的存儲庫創建了一個名爲Jenkins
的新分支
# git branch -a
jenkins
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
方法3:使用Git倉庫的Jenkinsfile流水線腳本創建
首先,在存儲庫中創建Jenkinsfile,如下所示。在本例中,我使用的是分支中已經存在的Jenkinsfile。如果您沒有這個文件,請創建一個。
# cd /var/lib/jenkins/localgit/BinCode
# git checkout jenkins
Switched to branch 'jenkins'
# git branch -a
* jenkins
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
# cat Jenkinsfile
pipeline {
agent any
stages {
stage('Stage 1: Integrate Web and DB') {
steps {
echo '1.1 Getting application web files'
echo '1.2 Getting database files'
echo '1.3 Combining web and db files'
}
}
stage('Stage 2: Integration testing') {
steps {
echo '2.1 Performing integration testing'
}
}
stage('Stage 3: Release to Prod') {
steps {
echo '3.1 Releasing code to production'
}
}
}
}
首先,按照方法1中解釋的類似步驟,從經典UI中創建一個新流水線,並將該流水線命名爲:SCM-Test-Pipeline
。接下來,選擇SCM- test -Pipeline
並在Pipeline
選項卡下,定義選擇的Pipeline script from SCM
選項,如下所示。確保腳本路徑顯示Jenkinsfile
,如下所示。
現在,這還將詢問您的SCM倉庫的詳細信息。在這裏輸入您的git倉庫詳細信息。如果您的jenkins文件位於特定的分支中,請確保指定分支名稱正確。
指定git倉庫細節之後,執行流水線。流水線執行後,從側菜單欄單擊控制檯輸出查看流水線的執行日誌輸出。
推薦
本文分享自微信公衆號 - 雲原生技術愛好者社區(programmer_java)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。