在上一篇博客《Jenkins持續集成介紹及插件安裝版本更新演示(一)--技術流ken》中已經詳細介紹了jenkins的插件安裝以版本更新等,本篇博客將再深刻探究jenkins的更多功能,以便可以熟練使用jenkins完成工做中的內容。html
本篇博客將詳細講解有關jenkins的憑證以及新建任務的演示,有關jenkins系列會一直更新到jenkins與gitlab和ansible完成動態和靜態網站持續集成自動化部署爲止,敬請期待。node
有許多第三方網站和應用程序能夠與 Jenkins 進行交互,例如程序代碼倉庫,雲存儲系統和服務等。git
此類應用程序的系統管理員能夠在應用程序中配置憑證以專供 Jenkins 使用。一般經過將訪問控制應用於這些憑證來完成這項工做,以「鎖定」Jenkins可用的應用程序功能區域。一旦 Jenkins 管理員(即管理 Jenkins 站點的 Jenkins 用戶)在 Jenkins 中添加/配置這些憑證,Pipeline 項目就可使用憑證與這些第三方應用程序進行交互。shell
Jenkins 中保存的憑證能夠用於:wordpress
第一步:建立憑證gitlab
進入你的jenkins的首頁,點擊左邊欄的憑證post
第二步:點擊全局憑據網站
第三步:點擊 添加一些憑據this
第四步:輸入信息url
在以下的對話框中輸入你的信息點擊肯定便可
第五步:首頁查看
便可看到咱們已經添加的憑據
若是你想使用jenkins完成平常的工做,那麼你必需要學會如何使用任務。
所謂的任務你能夠這樣理解就是你須要執行的一系列動做。
第一步:點擊新建任務
第二步:輸入你要建立的任務名稱
輸入完成點擊下方的肯定便可
注意:名稱不能有空格
這個名稱就是一個目錄,接下來咱們會演示git,git拉取到的內容就是保存了這個同名目錄下面
第三步:填寫你須要看到的信息
在參數構建過程當中參數有幾個你必須知道的是文本參數和選項參數
這裏我選擇選項參數進行演示
第四步:git獲取項目
URL輸入你的項目地址
憑證哪裏添加能夠獲取到你的項目的用戶和用戶名
branch哪裏添加分支
第五步:構建
這裏就是把 你的命令添加在這裏便可
在shell中添加以下內容並保存便可
第六步:構建參數
若是你選擇了選項參數,在這個任務界面就能夠看到這個選項
點開這個,就會看到咱們剛纔輸入的tyep以及auto了(忘記了請往上翻一下哦)
第七步:返回結果
若是執行成功了左下角的圓圈就是藍色的
執行失敗了就是紅色
鼠標放上去也會看到提示信息的
第八步:查看執行過程
下圖中的紅色框都是我剛纔執行的命令
第一列:的/var/lib/jenkins/workspace/test_for_block 是echo 的結果,表示jenkins如今工做目錄是在你的任務名稱下的
第二列:顯示當前所在的目錄,其實能夠發現咱們如今就處在本身的新建任務的同名目錄中
第三列:進入到工做目錄,即當下
第四列:給咱們展現了當前目錄下的全部文件,能夠看到咱們遠程倉庫中的文件已經被拉取到了當前文件夾下
層級結構
第一層: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
能夠發現這裏面的界面比咱們以前選擇的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 """ } } } }