Jenkins前言
在上一篇博客《Jenkins持續集成介紹及插件安裝版本更新演示(一)--技術流ken》中已經詳細介紹了jenkins的插件安裝以版本更新等,本篇博客將再深入探究jenkins的更多功能,以便能夠熟練使用jenkins完成工作中的內容。
本篇博客將詳細講解有關jenkins的憑證以及新建任務的演示,有關jenkins系列會一直更新到jenkins與gitlab和ansible完成動態和靜態網站持續集成自動化部署為止,敬請期待。
Jenkins憑證介紹
有許多第三方網站和應用程序可以與 Jenkins 進行交互,例如程序代碼倉庫,雲存儲系統和服務等。
此類應用程序的系統管理員可以在應用程序中配置憑證以專供 Jenkins 使用。通常通過將訪問控制應用於這些憑證來完成這項工作,以“鎖定”Jenkins可用的應用程序功能區域。一旦 Jenkins 管理員(即管理 Jenkins 站點的 Jenkins 用戶)在 Jenkins 中添加/配置這些憑證,Pipeline 項目就可以使用憑證與這些第三方應用程序進行交互。
Jenkins 中保存的憑證可以用於:
- 任何適用於 Jenkins 的任何地方(即全局證書)
- 特定的 Pipeline 項目
- 特定的 Jenkins 用戶
Jenkins憑證的創建
第一步:創建憑證
進入你的jenkins的首頁,點擊左邊欄的憑證
第二步:點擊全局憑據
第三步:點擊 添加一些憑據
第四步:輸入信息
在如下的對話框中輸入你的信息點擊確定即可
第五步:首頁查看
即可看到我們已經添加的憑據
新建任務演示
如果你想使用jenkins完成日常的工作,那么你必須要學會如何使用任務。
所謂的任務你可以這樣理解就是你需要執行的一系列動作。
第一步:點擊新建任務
第二步:輸入你要創建的任務名稱
輸入完成點擊下方的確定即可
注意:名稱不能有空格
這個名稱就是一個目錄,接下來我們會演示git,git拉取到的內容就是保存了這個同名目錄下面
第三步:填寫你需要看到的信息
在參數構建過程中參數有幾個你必須知道的是文本參數和選項參數
這里我選擇選項參數進行演示
第四步:git獲取項目
URL輸入你的項目地址
憑證哪里添加可以獲取到你的項目的用戶和用戶名
branch哪里添加分支
第五步:構建
這里就是把 你的命令添加在這里即可
在shell中添加如下內容並保存即可
第六步:構建參數
如果你選擇了選項參數,在這個任務界面就可以看到這個選項
點開這個,就會看到我們剛才輸入的tyep以及auto了(忘記了請往上翻一下哦)
第七步:返回結果
如果執行成功了左下角的圓圈就是藍色的
執行失敗了就是紅色
鼠標放上去也會看到提示信息的
第八步:查看執行過程
下圖中的紅色框都是我剛才執行的命令
第一列:的/var/lib/jenkins/workspace/test_for_block 是echo 的結果,表示jenkins現在工作目錄是在你的任務名稱下的
第二列:顯示當前所在的目錄,其實可以發現我們現在就處在自己的新建任務的同名目錄中
第三列:進入到工作目錄,即當下
第四列:給我們展示了當前目錄下的所有文件,可以看到我們遠程倉庫中的文件已經被拉取到了當前文件夾下
pipeline結構介紹
層級結構
第一層:pipline,這是最外層
第二層:stages,這層是用來完成一個特定的工作,其中有一個或者多個子層,每個子層是一個stage
第三冊:stage,這是stages的子層
第四層:steps,這層是定義具體要執行的操作
pipline { agent any; environment { user='deploy' host='1.2.3.4' PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' } stages { stage('bulid job') { environment { NEWPATH='/bin:/sbin' } steps { sh '/home/a.sh' echo "hi boys" script{ xxxx xxxx } } } } }
區域:
1. agent:定義當前的job運行在哪個jenkins節點上
any:
none:
node:
agent {node {label 'ser1'}}
agent any
2. environment:定義環境變量
格式:變量名=變量值
3. script:可選的
4. steps:借助於特定的jenkis模塊來完成特定的工作
echo
sh
git
pipeline演示
第一步:新建任務
選擇流水線
第二步: 編寫pipeline
可以發現這里面的界面比我們之前選擇的freestyle界面簡潔的多
在這里填寫你的pipeline保存即可
第三步:構建
點擊立即構建即可
第四步:查看執行結果
可以發現執行成功
pipeline的功能很多,在接下來的博客當中會使用pipeline完成動態網站的持續集成部署。
上面例子中的pipeline代碼
pipeline{ agent {node {label 'master'}} environment { PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" } parameters{ choice( name: "deploy_env", choices: "dev\nprod", description: "this is for liang lei xi tong" ) string(name: 'version',defaultValue: '1.0.0', description: '版本號') } stages { stage("test for pipline job"){ steps{ sh "git config --global http.sslVerify false" dir ("${env.WORKSPACE}"){ git branch:'master', url:'http://10.220.5.232/gp1/wordpress.git', credentialsId:'119a7e29-4c6c-4f75-bfdb-56fa0edcafaa' } } } stage("print bianlian"){ steps{ sh """ set +x echo "===============start job==============" echo "你選的類型是 $deploy_env" echo "your version is $version" echo "===============stop job ==============" set -x """ } } } }