Jenkins 部署

Jenkins 部署

Jenkins 是持續(xù)集成服務(wù)器,可以幫你自動化運行測試用例版姑。 這有助于確保所有測試保持通過能扒,應(yīng)用程序總是準(zhǔn)備就緒的。

環(huán)境: Ubuntu 16.04

參考鏈接

  1. 使用Jenkins進(jìn)行持續(xù)集成 - 廖雪峰的官方網(wǎng)站
  2. Jenkins 官網(wǎng)

安裝搭建

  1. 安裝java(如果沒有)

        sudo apt-get update
        sudo apt-get install openjdk-8-jre-headless
    
  2. 添加源并安裝Jenkins(更多安裝方式見官網(wǎng))

        wget -q -O - http://pkg.jenkins-ci.org/debian-stable/jenkins-ci.org.key | sudo apt-key add -
        sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
        sudo apt-get update
        sudo apt-get install jenkins
    
  3. 一些命令和配置所在位置

        # 啟動服務(wù)(使用apt安裝的齿坷,不需要輸入此命令)
        sudo systemctl start jenkins
        # 查看狀態(tài)
        sudo systemctl status jenkins
        # 日志文件
        tail -f /var/log/jenkins/jenkins.log
        # 配置文件
        vi /etc/default/jenkins
    
  4. 初始化Jenkins

    • 使用瀏覽器訪問:http://your_domain_or_IP:8080
    • sudo cat /var/lib/jenkins/secrets/initialAdminPassword 獲取密鑰桂肌,填寫到網(wǎng)頁中
    • (此處進(jìn)行較長時間的等待...原因不詳)
    • 點擊Install suggested plugins,等待讀條
    • 填寫用戶永淌,然后保存

部署項目

  1. 創(chuàng)建一個新任務(wù)
  2. 填寫項目名崎场,選擇“構(gòu)建一個自由風(fēng)格的軟件項目”
  3. 需要注意的有:
    • 源碼管理:選擇git,填寫倉庫URL遂蛀,本地庫的格式 => /path/projectName/.git谭跨,可選分支,默認(rèn)master
    • 構(gòu)建觸發(fā)器:主要的有3種答恶,“觸發(fā)遠(yuǎn)程構(gòu)建”中可以指定TOKEN并構(gòu)造URL來觸發(fā)構(gòu)建饺蚊,可以用于git的鉤子萍诱,每次提交的時候就構(gòu)建悬嗓; "Build periodically"是周期性構(gòu)建,無論代碼是否有修改裕坊,都會執(zhí)行的構(gòu)建包竹,一般用于每天跑測試; "Poll SCM"是根據(jù)版本控制軟件(git)的版本號來判斷籍凝,如果有變化則checkout后構(gòu)建周瞎。 后兩種的內(nèi)容采用crontab的周期格式,并且每次構(gòu)建除了"Poll SCM"之外饵蒂,默認(rèn)不會checkout代碼
    • 構(gòu)建:可以指定"Execute Shell",這是真正做的內(nèi)容,可以checkout代碼唤衫,執(zhí)行一些測試腳本撤师,編譯代碼,提交到遠(yuǎn)程庫等
    • 構(gòu)建后操作:構(gòu)建結(jié)束會得到結(jié)果(成功/失敗)渊迁,可以選擇"E-mail Notification"或"Editable Email Notification"來進(jìn)行郵件提示慰照。“不穩(wěn)定”的含義是相比于上一次構(gòu)建的結(jié)果琉朽,從失敗到成功毒租、成功到失敗、失敗到失敗箱叁,這三種情況的總和墅垮。一般勾選此選項惕医,責(zé)任人是觸發(fā)此構(gòu)建的用戶

例子

  1. 拉取測試分支到本地:git clone git@git.oschina.net:tyruschin/test_jenkins.git
  2. 進(jìn)入Jenkins,http://localhost:8080/
  3. 左側(cè)新建算色,填入item name曹锨,選擇“構(gòu)建一個自由風(fēng)格的軟件項目”
  4. 填入描述
  5. 源碼管理選擇git,填入倉庫路徑/.git
  6. 構(gòu)建觸發(fā)器選擇“Poll SCM”剃允,填入* * * * *沛简,表示每分鐘自動檢測git的版本號是否有變化,如果有斥废,則checkout后構(gòu)建
  7. 倉庫中有兩個腳本椒楣,一個是執(zhí)行出錯的腳本ls not_exist_dir,一個是正常執(zhí)行的腳本牡肉,可以多次嘗試捧灰。先在構(gòu)建中增加構(gòu)建步驟Execute shell,填入倉庫路徑/ok.sh
  8. 選擇增加構(gòu)建后操作步驟中的E-mail Notification统锤,勾選“每次不穩(wěn)定的構(gòu)建都發(fā)送郵件通知”毛俏,Recipients中可以用空格分隔多個默認(rèn)收件郵箱,每個不穩(wěn)定狀態(tài)都會提醒這些人饲窿。同時也可以勾選“單獨發(fā)送郵件給對構(gòu)建造成不良影響的責(zé)任人”煌寇,發(fā)送給造成不穩(wěn)定狀態(tài)的構(gòu)建用戶
  9. 保存
  10. 點擊左側(cè)“立即構(gòu)建”,記錄git倉庫中的代碼到工作空間逾雄,可以看到構(gòu)建歷史上多了一個#1(配置成功的情況是藍(lán)色的阀溶,如果紅色則需要查看Output),藍(lán)色球代表成功鸦泳,紅色球代表失敗银锻,點擊進(jìn)去可以看到一些過程信息,Console Output中可以看到一些輸出做鹰,最后幾行有執(zhí)行腳本的輸出和執(zhí)行狀態(tài):
        Started by user admin
        Building in workspace /var/lib/jenkins/workspace/temp
        Cloning the remote Git repository
        Cloning repository /server/www/test_jenkins/.git
         > git init /var/lib/jenkins/workspace/temp # timeout=10
        Fetching upstream changes from /server/www/test_jenkins/.git
         > git --version # timeout=10
         > git fetch --tags --progress /server/www/test_jenkins/.git +refs/heads/*:refs/remotes/origin/*
         > git config remote.origin.url /server/www/test_jenkins/.git # timeout=10
         > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
         > git config remote.origin.url /server/www/test_jenkins/.git # timeout=10
        Fetching upstream changes from /server/www/test_jenkins/.git
         > git fetch --tags --progress /server/www/test_jenkins/.git +refs/heads/*:refs/remotes/origin/*
         > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
         > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
        Checking out Revision 5b2707a3967d620e224fe7df79970cce4253a30d (refs/remotes/origin/master)
         > git config core.sparsecheckout # timeout=10
         > git checkout -f 5b2707a3967d620e224fe7df79970cce4253a30d
        First time build. Skipping changelog.
        [temp] $ /bin/sh -xe /tmp/hudson6040940560717864847.sh
        + /server/www/test_jenkins/ok.sh
        標(biāo)準(zhǔn)的輸出击纬,沒有錯誤
        Finished: SUCCESS
    
  11. 回到項目主頁面,點擊”配置“钾麸,將Execute shell改為err.sh更振,并保存
  12. 回到主頁面,點擊立即構(gòu)建喂走,出現(xiàn)紅球殃饿,并且相應(yīng)的郵箱收到郵件提醒
        See <http://localhost:8080/job/temp/2/display/redirect>
    
        ------------------------------------------
        Started by user admin
        Building in workspace <http://localhost:8080/job/temp/ws/>
         > git rev-parse --is-inside-work-tree # timeout=10
        Fetching changes from the remote Git repository
         > git config remote.origin.url /server/www/test_jenkins/.git # timeout=10
        Fetching upstream changes from /server/www/test_jenkins/.git
         > git --version # timeout=10
         > git fetch --tags --progress /server/www/test_jenkins/.git +refs/heads/*:refs/remotes/origin/*
         > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
         > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
        Checking out Revision 5b2707a3967d620e224fe7df79970cce4253a30d (refs/remotes/origin/master)
         > git config core.sparsecheckout # timeout=10
         > git checkout -f 5b2707a3967d620e224fe7df79970cce4253a30d
         > git rev-list 5b2707a3967d620e224fe7df79970cce4253a30d # timeout=10
        [temp] $ /bin/sh -xe /tmp/hudson2967294202264901782.sh
        + /server/www/test_jenkins/err.sh
        以下嘗試訪問一個不存在的目錄
        ls: cannot access 'not_exist_dir': No such file or directory
        Build step 'Execute shell' marked build as failure
    
  13. 嘗試提交一個git修改到本地(與源碼管理中填寫的庫對應(yīng)),1分鐘內(nèi)仍然會收到一個錯誤提醒芋肠,構(gòu)建出現(xiàn)紅色球
  14. 將配置中的err.sh改回ok.sh乎芳,點擊立即構(gòu)建,郵箱收到糾正提醒,構(gòu)建出現(xiàn)藍(lán)色球
  15. 多次點擊立即構(gòu)建或提交修改奈惑,由于上一次狀態(tài)是正確吭净,當(dāng)前狀態(tài)也是正確的,不會發(fā)送提醒郵件

用戶管理

忘記密碼

http://www.cnblogs.com/zz0412/p/jenkins_jj_11.html
然后進(jìn)入之后肴甸,點擊右上角的名字 - 設(shè)置寂殉,修改密碼

配置用戶注冊

http://www.cnblogs.com/zz0412/p/jenkins_jj_14.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市原在,隨后出現(xiàn)的幾起案子友扰,更是在濱河造成了極大的恐慌,老刑警劉巖庶柿,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件村怪,死亡現(xiàn)場離奇詭異,居然都是意外死亡浮庐,警方通過查閱死者的電腦和手機(jī)甚负,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來审残,“玉大人梭域,你說我怎么就攤上這事〗两危” “怎么了病涨?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長介时。 經(jīng)常有香客問我没宾,道長凌彬,這世上最難降的妖魔是什么沸柔? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮铲敛,結(jié)果婚禮上褐澎,老公的妹妹穿的比我還像新娘。我一直安慰自己伐蒋,他們只是感情好工三,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著先鱼,像睡著了一般俭正。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上焙畔,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天掸读,我揣著相機(jī)與錄音,去河邊找鬼。 笑死儿惫,一個胖子當(dāng)著我的面吹牛澡罚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肾请,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼留搔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铛铁?” 一聲冷哼從身側(cè)響起隔显,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荣月,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哺窄,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡账锹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年萌业,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奸柬。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖廓奕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桌粉,我是刑警寧澤蒸绩,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站铃肯,受9級特大地震影響患亿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜步藕,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一挑格、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漂彤,春花似錦瞬逊、人聲如沸仪或。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至到旦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間采呐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工斧吐, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留仲器,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓蝶糯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親昼捍。 傳聞我的和親對象是個殘疾皇子肢扯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

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

  • 使用SpringBoot+SpringCloud寫了一套APP后臺服務(wù),也引入了當(dāng)下比較流行的微服務(wù)的理念鹃彻,模塊也...
    CptHiro閱讀 34,404評論 4 124
  • Github配置:settings => Developer settings => Personal acces...
    BigJeffWang閱讀 2,683評論 0 49
  • 目前持續(xù)集成(CI)已成為當(dāng)前許多軟件開發(fā)團(tuán)隊在整個軟件開發(fā)生命周期內(nèi)側(cè)重于保證代碼質(zhì)量的常見做法蛛株。它是一種實踐育拨,...
    擼大師閱讀 6,496評論 0 3
  • 11.13 今天是思思第一去平安上班的日子,可以看出她很興奮熬丧,也很憧憬,不論以后的結(jié)果怎樣害捕,她走出這一步我覺得特別...
    吾思故吾在丶閱讀 244評論 1 0
  • 魯迅曾說:“世上本沒有路,走的人多也便成了路尝盼。” 但是在一個人的征途中怎么能有多人參與呢盾沫?那是我在房地產(chǎn)干銷售時候...
    奔跑吧小短腿閱讀 74評論 0 0