Jenkins 配置心得

[TOC]

管理員控制Jenkins

重啟,關(guān)機(jī)遭笋,退出

登錄后,根路由輸入

http://localhost:8080/restart
http://localhost:8080/reload
http://localhost:8080/exit

定時(shí)任務(wù)

Build periodically

定時(shí)觸發(fā)構(gòu)建任務(wù)徒探,不管遠(yuǎn)程代碼分支上的代碼是否發(fā)生變化瓦呼,都執(zhí)行一次構(gòu)建

H 2 * * *

每天兩點(diǎn)定時(shí)執(zhí)行構(gòu)建

Build periodicallySchedule 參數(shù)說(shuō)明

# 參數(shù)格式
* * * * *
# 每天1點(diǎn)開(kāi)始依次構(gòu)建
H 1 * * *
# 每個(gè)小時(shí)的第 0 分鐘執(zhí)行一次構(gòu)建
0 * * * *
# 每周一到五,當(dāng)天3點(diǎn)開(kāi)始依次構(gòu)建
H 3 * * 1-5
  • 第一個(gè)參數(shù)代表的是分鐘 minute测暗,取值 0~59央串;
  • 第二個(gè)參數(shù)代表的是小時(shí) hour磨澡,取值 0~23;
  • 第三個(gè)參數(shù)代表的是天 day质和,取值 1~31稳摄;
  • 第四個(gè)參數(shù)代表的是月 month,取值 1~12饲宿;
  • 最后一個(gè)參數(shù)代表的是星期 week厦酬,取值 0~7,0 和 7 都是表示星期天瘫想。

Poll SCM

定時(shí)感知代碼分支是否有變化仗阅,如果有變化的話,執(zhí)行一次構(gòu)建

H/10 * * * *

每十分鐘去檢查一下遠(yuǎn)程倉(cāng)庫(kù)殿托,看代碼是否發(fā)生變化

curl

官網(wǎng)的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官網(wǎng):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

#定義遠(yuǎn)程的jenkins job
job_name='job'

#定義遠(yuǎn)程的jenkins master server的url霹菊,以及port
jenkins_server_url='xxxx:xxxx'
#定義用戶(hù)的User Id 和 API Token
user_id='xxxx'
api_token='xxxx'
#實(shí)例化jenkins對(duì)象,連接遠(yuǎn)程的jenkins master server
server=jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)

#構(gòu)建job名為job_name的job(不帶構(gòu)建參數(shù))
server.build_job(job_name)

#String參數(shù)化構(gòu)建job名為job_name的job, 參數(shù)param_dict為字典形式支竹,如:param_dict= {"param1":“value1”旋廷, “param2”:“value2”}
server.build_job(job_name, parameters=param_dict)

#獲取job名為job_name的job的相關(guān)信息
server.get_job_info(job_name)

#獲取job名為job_name的job的最后次構(gòu)建號(hào)
server.get_job_info(job_name)['lastBuild']['number']

#獲取job名為job_name的job的某次構(gòu)建的執(zhí)行結(jié)果狀態(tài)
server.get_build_info(job_name,build_number)['result']  

#判斷job名為job_name的job的某次構(gòu)建是否還在構(gòu)建中
server.get_build_info(job_name,build_number)['building']

配置任務(wù)流 Pipeline

引用: https://my.oschina.net/ghm7753/blog/371954?p=1

插件安裝 Build Pipeline Plugin

如果要手動(dòng)安裝需要下載如下

  • 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主頁(yè)點(diǎn)擊新建視圖

  • 選擇Build Pipeline View

  • 創(chuàng)建完成后對(duì)它進(jìn)行一些配置,關(guān)鍵配置內(nèi)容為 Select Initial Job 作為初始Job

  • 關(guān)聯(lián)多個(gè)Job

真實(shí)的工作環(huán)境有很多job礼搁,比如
編譯饶碘,然后執(zhí)行靜態(tài)代碼檢查、單元測(cè)試馒吴、然后部署服務(wù)器扎运、服務(wù)器重啟、進(jìn)行ui測(cè)試等
需要對(duì)這些job進(jìn)行一些設(shè)置將它們的上下游關(guān)系配置好

例如初始job是Check-Env饮戳,可以先對(duì)它進(jìn)行設(shè)置豪治。
進(jìn)入該job的配置頁(yè)面,然后選擇構(gòu)建后操作
接著選擇Trigger parameterized build on other projects

Project to build 欄填入它下游的job可以是一個(gè)也可以是多個(gè)扯罐,多個(gè)使用,分隔開(kāi)

需要注意的是负拟,如果下游的job構(gòu)建時(shí)不需要參數(shù)的話,必須將Tigger build without parameter勾上歹河,否則不會(huì)自動(dòng)執(zhí)行下游的任務(wù)了掩浙。如果有參數(shù)的話,將具體的參數(shù)名稱(chēng)以及值填入Add parameter

Tigger when build is 可以填入Stable

警告 Job 千萬(wàn)別設(shè)置成一個(gè)環(huán)路

需要注意的是各個(gè)任務(wù)間千萬(wàn)別設(shè)置成一個(gè)環(huán)路秸歧,例如job1的下游項(xiàng)目設(shè)置成job3厨姚,而job3的下游項(xiàng)目又設(shè)置成job1
如果這樣設(shè)置了,那整個(gè)jenkins就掛了键菱,即便重啟也沒(méi)有用

要解決的話只能去jenkins的workspace目錄將設(shè)置成環(huán)路的job刪除
然后重啟jenkins

pipeline視圖

查看各個(gè)job的執(zhí)行情況

  • 綠色是表示執(zhí)行通過(guò)的
  • 黃色是正在執(zhí)行的
  • 藍(lán)色是未執(zhí)行的
  • 紅色是執(zhí)行失敗的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谬墙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芭梯,老刑警劉巖险耀,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異玖喘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蘑志,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)累奈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人急但,你說(shuō)我怎么就攤上這事澎媒。” “怎么了波桩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵戒努,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我镐躲,道長(zhǎng)储玫,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任萤皂,我火速辦了婚禮撒穷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裆熙。我一直安慰自己端礼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布入录。 她就那樣靜靜地躺著蛤奥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪僚稿。 梳的紋絲不亂的頭發(fā)上凡桥,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音贫奠,去河邊找鬼唬血。 笑死,一個(gè)胖子當(dāng)著我的面吹牛唤崭,可吹牛的內(nèi)容都是我干的拷恨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谢肾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼腕侄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冕杠,失蹤者是張志新(化名)和其女友劉穎微姊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體分预,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兢交,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笼痹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片配喳。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凳干,靈堂內(nèi)的尸體忽然破棺而出晴裹,到底是詐尸還是另有隱情,我是刑警寧澤救赐,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布涧团,位于F島的核電站,受9級(jí)特大地震影響经磅,放射性物質(zhì)發(fā)生泄漏泌绣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一馋贤、第九天 我趴在偏房一處隱蔽的房頂上張望赞别。 院中可真熱鬧,春花似錦配乓、人聲如沸仿滔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)崎页。三九已至,卻和暖如春腰埂,著一層夾襖步出監(jiān)牢的瞬間飒焦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工屿笼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牺荠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓驴一,卻偏偏與公主長(zhǎng)得像休雌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肝断,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容