[TOC]
管理員控制Jenkins
重啟,關機,退出
登錄后,根路由輸入
http://localhost:8080/restart
http://localhost:8080/reload
http://localhost:8080/exit
定時任務
Build periodically
定時觸發構建任務,不管遠程代碼分支上的代碼是否發生變化,都執行一次構建
H 2 * * *
每天兩點定時執行構建
Build periodicallySchedule 參數說明
# 參數格式
* * * * *
# 每天1點開始依次構建
H 1 * * *
# 每個小時的第 0 分鐘執行一次構建
0 * * * *
# 每周一到五,當天3點開始依次構建
H 3 * * 1-5
- 第一個參數代表的是分鐘 minute,取值 0~59;
- 第二個參數代表的是小時 hour,取值 0~23;
- 第三個參數代表的是天 day,取值 1~31;
- 第四個參數代表的是月 month,取值 1~12;
- 最后一個參數代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
Poll SCM
定時感知代碼分支是否有變化,如果有變化的話,執行一次構建
H/10 * * * *
每十分鐘去檢查一下遠程倉庫,看代碼是否發生變化
curl
官網的wiki:https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
curl -X POST JENKINS_URL/job/JOB_NAME/build \
--user USER:TOKEN \
--data-urlencode json='{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
Python-Jenkins
幾乎涵蓋了大部分Jenkins的操作
Python-Jenkins官網:https://pypi.python.org/pypi/python-jenkins/
Python-Jenkins Doc:http://python-jenkins.readthedocs.io/en/latest/index.html
install python-jenkins
pip install python-jenkins
Use Python-Jenkins
import jenkins
#定義遠程的jenkins job
job_name='job'
#定義遠程的jenkins master server的url,以及port
jenkins_server_url='xxxx:xxxx'
#定義用戶的User Id 和 API Token
user_id='xxxx'
api_token='xxxx'
#實例化jenkins對象,連接遠程的jenkins master server
server=jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)
#構建job名為job_name的job(不帶構建參數)
server.build_job(job_name)
#String參數化構建job名為job_name的job, 參數param_dict為字典形式,如:param_dict= {"param1":“value1”, “param2”:“value2”}
server.build_job(job_name, parameters=param_dict)
#獲取job名為job_name的job的相關信息
server.get_job_info(job_name)
#獲取job名為job_name的job的最后次構建號
server.get_job_info(job_name)['lastBuild']['number']
#獲取job名為job_name的job的某次構建的執行結果狀態
server.get_build_info(job_name,build_number)['result']
#判斷job名為job_name的job的某次構建是否還在構建中
server.get_build_info(job_name,build_number)['building']
配置任務流 Pipeline
引用: https://my.oschina.net/ghm7753/blog/371954?p=1
插件安裝 Build Pipeline Plugin
如果要手動安裝需要下載如下
- Javadoc Plugin
- Maven Integration plugin
- Token Macro Plugin
- Ant Plugin
- PAM Authentication plugin
- LDAP Plugin
- External Monitor Job Type Plugin
- Run Condition Plugin
- Conditional BuildStep
- Parameterized Trigger plugin
- jQuery plugin
- Build Pipeline Plugin
使用pipeline
在jenkins主頁點擊新建視圖
選擇
Build Pipeline View
創建完成后對它進行一些配置,關鍵配置內容為
Select Initial Job
作為初始Job關聯多個Job
真實的工作環境有很多job,比如
編譯,然后執行靜態代碼檢查、單元測試、然后部署服務器、服務器重啟、進行ui測試等
需要對這些job進行一些設置將它們的上下游關系配置好
例如初始job是Check-Env
,可以先對它進行設置。
進入該job的配置頁面,然后選擇構建后操作
接著選擇Trigger parameterized build on other projects
Project to build
欄填入它下游的job可以是一個也可以是多個,多個使用,
分隔開
需要注意的是,如果下游的job構建時不需要參數的話,必須將
Tigger build without parameter
勾上,否則不會自動執行下游的任務了。如果有參數的話,將具體的參數名稱以及值填入Add parameter
中
Tigger when build is
可以填入Stable
警告 Job 千萬別設置成一個環路
需要注意的是各個任務間千萬別設置成一個環路,例如job1的下游項目設置成job3,而job3的下游項目又設置成job1
如果這樣設置了,那整個jenkins就掛了,即便重啟也沒有用
要解決的話只能去jenkins的workspace
目錄將設置成環路的job刪除
然后重啟jenkins
pipeline視圖
查看各個job的執行情況
- 綠色是表示執行通過的
- 黃色是正在執行的
- 藍色是未執行的
- 紅色是執行失敗的