实战:向GitHub提交代码时触发Jenkins自动构建
當(dāng)我們提交代碼到GitHub后,可以在Jenkins上執(zhí)行構(gòu)建,但是每次都要動手去執(zhí)行略顯麻煩,今天我們就來實戰(zhàn)Jenkins的自動構(gòu)建功能,每次提交代碼到GitHub后,Jenkins會進(jìn)行自動構(gòu)建;
原文地址:http://blog.csdn.net/boling_cavalry/article/details/78943061
前期準(zhǔn)備工作
進(jìn)行本章的實戰(zhàn)前,推薦您參照《docker下的Jenkins安裝和體驗》做安裝和體驗的實戰(zhàn),以便對Jenkins服務(wù)有初步了解;
重要前提
demo工程源碼
本次用來在Jenkins上構(gòu)建的工程是個springboot的web工程,地址是:git@github.com:zq2599/jenkinsdemo.git,用瀏覽器訪問的地址是:https://github.com/zq2599/jenkinsdemo.git;?
代碼很簡單,只有一個controller,接收http請求返回一個字符串,如下所示:
您需要在自己的GitHub創(chuàng)建一個項目,源碼可以參照上述demo工程的源碼;
實戰(zhàn)步驟梳理
本次整個實戰(zhàn)過程依次為如下步驟:?
1. GitHub上準(zhǔn)備一個spring boot的web工程;?
2. GitHub上配置Jenkins的webhook地址;?
3. 在GitHub上創(chuàng)建一個access token,Jenkins做一些需要權(quán)限的操作的時候就用這個access token去鑒權(quán);?
4. Jenkins安裝GitHub Plugin插件;?
5. Jenkins配置GitHub訪問權(quán)限;?
6. Jenkins上創(chuàng)建一個構(gòu)建項目,對應(yīng)的源碼是步驟1中的web工程;?
7. 修改web工程的源碼,并提交到GitHub上;?
8. 檢查Jenkins的構(gòu)建項目是否被觸發(fā)自動構(gòu)建,構(gòu)建成功后,下載工程運(yùn)行,看是不是基于最新的代碼構(gòu)建的;
webhook地址
webhook是通知Jenkins時的請求地址,用來填寫到GitHub上,這樣GitHub就能通過該地址通知到Jenkins;?
假設(shè)Jenkins所在服務(wù)器的地址是:192.168.0.1,端口為8080,那么webhook地址就是http://192.168.0.1:8080/github-webhook
再次提醒,上述地址必須是外網(wǎng)也能訪問的,否則GitHub無法訪問到Jenkins;
配置GitHub
生成Personal access tokens
Jenkins訪問GitHub工程的時候,有的操作是需要授權(quán)的,所以我們要在GitHub上生成授權(quán)的token給Jenkins使用,這就是Personal access tokens,生成步驟如下:?
1. 登錄GitHub,進(jìn)入”Settings”頁面,點擊左下角的”Developer settings”,如下圖:?
?
2. 跳轉(zhuǎn)到”Developer settings”頁面后,點擊左下角的“Personal access tokens”,如下圖:?
?
3. 跳轉(zhuǎn)到”Personal access tokens”頁面后,點擊右上角的”Generate new token”按鈕,如下圖:?
?
4. 可能會提示輸入GitHub密碼,輸入后跳轉(zhuǎn)到創(chuàng)建token的頁面,如下圖所示,輸入title,再勾選”repo”和”admin:repo_hook”,再點擊底部的”Generate token”按鈕,就能產(chǎn)生一個新的access token,將此字符串復(fù)制下來,后面jenkins任務(wù)中會用到:?
Jenkins配置
GitHub項目的項目主頁和倉庫地址
項目主頁和倉庫地址是不同的,如下圖,紅框1中是項目主頁,點擊紅框2的按鈕后,紅框3中是倉庫地址(要用HTTPS的,不用SSH 的):?
項目主頁:https://github.com/zq2599/jenkinsdemo?
倉庫地址:https://github.com/zq2599/jenkinsdemo.git
新建構(gòu)建項目
在Jenkins上新建一個maven構(gòu)建項目,名為test003,如下圖:?
接下來設(shè)置test003的配置信息,分為”源碼管理設(shè)置”和”構(gòu)建環(huán)境設(shè)置”兩部分;
源碼管理設(shè)置
?
上圖中每個紅框的設(shè)置如下解釋:?
1. 選擇”Git”;?
2. “Repository URL”輸入倉庫地址:https://github.com/zq2599/jenkinsdemo.git;?
3. “Credentials”創(chuàng)建一個Credentials,Kind選擇”Username with password”,Username輸入GitHub賬號,Password輸入GitHub密碼;?
4. “源碼庫瀏覽器”選擇”githubweb”;?
5. “URL”輸入項目主頁:https://github.com/zq2599/jenkinsdemo;?
6. “構(gòu)建觸發(fā)器”中勾選”GitHub hook trigger for GiTScm polling”;
構(gòu)建環(huán)境設(shè)置
如下圖所示,勾選”Use secret text(s) or file(s)”,下面的”Credentials”選擇我們之前配置過的”Personal access tokens”?
設(shè)置完成后,點擊頁面底部的”保存”按鈕;
修改web工程代碼并提交到GitHub
將GitHub倉庫的代碼clone到本地,做一些修改然后提交到GitHub上,例如我修改了Hello.java中的源碼(修改了sayHello方法的return的字符串的內(nèi)容),如下所示:
@RestController public class Hello {@RequestMapping("/")public String sayHello(){//修改返回的字符串的內(nèi)容return "abcdefg. Hello jenkins, " + new Date();} }提交到GitHub的操作如下圖所示:?
Jenkins自動構(gòu)建
回到Jenkins的test003頁面,可以看到已經(jīng)開始自動構(gòu)建了,如下圖:?
驗證自動構(gòu)建結(jié)果
至此,GitHub提交觸發(fā)Jenkins自動構(gòu)建的實戰(zhàn)就完成了,希望能對您搭建持續(xù)構(gòu)建環(huán)境有所幫助。
轉(zhuǎn)載于:https://www.cnblogs.com/yhaing/p/8568076.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的实战:向GitHub提交代码时触发Jenkins自动构建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 基础总结。
- 下一篇: 战火勋章集团军战术熟练度怎么刷