一、linux搭建jenkins+github详细步骤
事情緣由:
現(xiàn)在在做的主要工作是通過jenkins+postman實現(xiàn)api的自動化測試,想要達到的效果是,api自動化測試定時跑腳本的同時,github有新的代碼提交,jenkins會自動檢測部署新提交的代碼,并且再次將api自動化腳本跑一邊,發(fā)送出測試報告;
飯要一口一口吃,搭建環(huán)境要一步一步走;現(xiàn)在呢,先把基本的github有push自動觸發(fā)jenkins構(gòu)建部署先搞定;
我是搭建在linux上的,之前想在本地部署一個windows版本的jenkins先把環(huán)境調(diào)通,在搬到服務(wù)器上;結(jié)果是各種坑啊,首先網(wǎng)上的很多資料都有點陳舊,很多的配置項都對不上號,配置github的鉤子也老是失敗;果斷放棄轉(zhuǎn)戰(zhàn)linux服務(wù)器,沒想到挺順利的;
廢話少說,開始:
首先大家都知道jenkins是基于java的,所以得確定你的服務(wù)器上是否部署了java環(huán)境,而且版本也有要求,我部署的是openjdk 1.7版本;方法點這里;也可以是orancle jdk 5以上;
然后是https://jenkins.io/index.html,jenkins主頁,下載war包
可以直接下載這個2.32.2的war包,好處就是不用單獨安裝各種插件,像github相關(guān)的Github Plugin、plain-credentials?、git?、?credentials?、?github-api等都會自動安好;
下載完成后,可以借助xftp等工具將war包上傳到服務(wù)器系統(tǒng)中;上傳后,直接鍵入命令(注意用戶權(quán)限問題):java -jar jenkins.war &,此時jenkins會自動安裝部署,并在/root下生成.jenkins目錄作為jenkins的工作目錄:/root/.jenkins/workspace/;在安裝日志的下方會給出一個長串的密碼,這是首次登陸jenkins必須的,要眼尖copy下來備用,類似于這個:76a02d8a4f1b480a8ed9482d08bcfxxx;或者在http://服務(wù)器地址:8080/,首次登陸頁面會提示需要/root/.jenkins/secrets/initialAdminPassword文件中的密令;
?
命令java -jar jenkins.war & 不好的一點是雖然進程在后臺運行,我們還可以進行其他的操作,但是jenkins運行中產(chǎn)生的日志信息,還是會展示在控制臺;
更加好點的命令:
java -jar jenkins.war >jenkins_logs/jenkins.log 2>&1 &
這個命令是將jenkins服務(wù)相關(guān)的控制臺輸出重定向到j(luò)enkins_logs目錄下的jenkins.log文件中,包括標準輸出和標準錯誤輸出;
當然有了日志文件,一般就會考慮自動備份跟自動清空日志文件:
crontab?-e???#進入計劃任務(wù)編輯模式
* 0 * * *?cp?jenkins.log?backup/$(date?+%m%H%M)?;echo?""?>?jenkins.log???##每天晚上0點將jenkins.log備份到backup目錄下,以當時時間為文件名。然后清空jenkins.log;部署完成后,就可以打開你的本地瀏覽器,輸入http://服務(wù)器ip地址:8080/,就可以訪問jenkins,首先應(yīng)該是讓輸入上面給的長串密碼,然后是創(chuàng)建首個admin用戶,然后是選擇安裝插件,選擇第一個suggest的插件,算是比較全的了,配置github的插件都包括了;
安裝完成后,就可以來配置jenkins的配置項了;
配置jenkins:
1、配置github插件:
主頁》》系統(tǒng)管理》》系統(tǒng)設(shè)置:
GitHub節(jié)點,GitHub Servers選擇Add GitHub Server,其中API URL不用修改,點擊Credentials的add增加一個jenkins訪問github的token;到這個地方需要先暫停一下,到github新增一個token給jenkins使用,所以切換到github頁面,Settings》》Personal access tokens,點擊Generate new token;
填寫Token描述,用以區(qū)分不同的Token,下面的scops選擇如下兩個:
?
點擊下方會生成一串字母,這一串字母就是給jenkins分配的認證碼;點擊復(fù)制,回到j(luò)enkins;
紅框處分別填寫對應(yīng)的內(nèi)容,Secret即為生成的Token認證碼,點擊add返回配置頁面;
Credentials項選擇新增的Token配置,點擊Test connection,若出現(xiàn)如同上圖中的提示,則表明設(shè)置成功,jenkins能夠正常訪問到github;點擊下方的保存,基本的github配置就完成了;
創(chuàng)建一個job:
1、創(chuàng)建一個自由風(fēng)格的任務(wù);
2、GitHub project下填寫你需要配置的github倉庫的鏈接;
3、源碼管理中,Git下填寫Repository URL,類似于倉庫地址后面的倉庫名改成.git;Credentials增加一個有讀寫權(quán)限的用戶,選擇用戶名和密碼的方式就好;
? 4、分支管理,可以定制哪一個分支,沒有定制則代表任意分支;源碼庫瀏覽器選擇githubweb,URL即倉庫地址;
? 5、構(gòu)建觸發(fā)器選擇:GitHub hook trigger for GITScm polling,在不知道哪個版本的時候,Build when a change is pushed to GitHub改成了GitHub hook trigger for GITScm polling,所以很多網(wǎng)絡(luò)上的文章中提到的Build when a change is pushed to GitHub,你是找不到的;
?
6、構(gòu)建環(huán)境選擇如圖,下面的Bindings中Credentials選擇之前配置過的Token;
7、構(gòu)建,可以選擇多個構(gòu)建的步驟,表示構(gòu)建過程執(zhí)行那些操作;在Execute shell中詳細寫入構(gòu)建具體的操作步驟,截圖中我是隨便寫的;注意jenkins在服務(wù)器中執(zhí)行腳本時,默認的當前目錄是jenkins的工作目錄,即/root/.jenkins/workspace/;在此基礎(chǔ)上切換目錄執(zhí)行;
8、構(gòu)建后操作,選擇如圖Set build status on GitHub commit [deprecated],高級配置中配置如下,后點擊下方的保存,任務(wù)就配置完成了;
?
配置github的web hook:
1、回到github頁面,選擇你需要配置的倉庫,點擊Settings,注意是指定倉庫的Settings,跟之前的github的Settings是不同的;
2、Webhooks頁面配置鉤子:完后點擊新增,我截圖是打開了一個配置好的,所以是update;
?
? 至此配置完成,在github上上傳一個文件試試看吧,應(yīng)該能夠觸發(fā)jenkins執(zhí)行構(gòu)建命令;
?
打開用戶注冊開關(guān)
jenkins安裝完成后,默認只能是最初創(chuàng)建的admin用戶可以登錄使用,沒有其他用戶注冊的地方,是因為用戶注冊的開關(guān)默認是關(guān)閉的;配置也很簡單:
jenkins >> 系統(tǒng)管理 >> Configure Global Security:
將允許用戶注冊勾選,保存后再將jenkins鏈接共享出去,jenkins主頁就會出現(xiàn)登陸和注冊按鈕;
?
?
?
?
下面附上jenkins教科書式的博客鏈接,希望大家能有所收獲,也感謝博主分享:?
http://blog.csdn.net/wangmuming/article/category/2167947
?
轉(zhuǎn)載于:https://www.cnblogs.com/zanjiahaoge666/p/6374837.html
總結(jié)
以上是生活随笔為你收集整理的一、linux搭建jenkins+github详细步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20155204 2016-2017-2
- 下一篇: Linux下使用iotop检测磁盘io使