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