Jenkins 配置心得

[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的執行情況

  • 綠色是表示執行通過的
  • 黃色是正在執行的
  • 藍色是未執行的
  • 紅色是執行失敗的
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容