POST
這篇文章是講解從無到有的JENKINS+GITHUB
持續集成環境的搭建。JENKINS
和其餘平臺的結合搭建,好比碼雲
啥的配合,操做過程大同小異。下面,咱們STEP BY STEP
地講解一下,若有不合理的地方,還請指出☞html
爲何要購買服務器呢?java
由於若是你本地搭建jenkins
環境以後,跟github
聯通不了--須要ip來設置githubwebhooks
的。固然,有什麼其餘操做能夠聯通github
的,還望指出:)linux
注意:若是你在本地運行jenkins,那麼你的
webhooks
多是https://localhost:8080/github-webhook/
,這不會起做用的,由於webhooks
只在網絡中起做用。你能夠參考文章Adding a GitHub Webhook in Your Jenkins Pipeline來了解一下。git
這裏,我購買了阿里雲的低配服務器,操做系統是centos7
。購買好服務器以後,我簡單經過NGINX
來代理,展現一個簡單的靜態頁面。固然,這裏並非咱們的重點,因此就不展開來講了。github
須要注意的是,你要配置安全組,才能看到靜態的站點。我本身配置如圖:web
在上傳資源以後,這時你打開阿里雲上相關的ip地址,若是你沒有看到指望的頁面,請檢查一下安全組的設置。vim
爲何要準備呢?centos
咱們不可能老是登陸本身的阿里雲帳號,而後切換到本身的服務器那裏鏈接它,而後再屁顛屁顛地操做程序吧~api
若是你喜歡,那你就保留那種操做習慣吧。只能說你時間真多~瀏覽器
這裏,本身在mac pro
和dell
電腦上都安裝了SecureCRT【一款支持SSH(SSH1和SSH2)的終端仿真程序】,遠程控制本身的服務器。我以爲挺好用的,喜歡!❤
服務器和遠程控制的仿真程序都已經準備完成了,接下來,咱們在服務器上面搭建所需的環境。
先在服務器上安裝java
環境,可參考這篇文章操做。安裝好java sdk
後,配置好環境。
以後,你能夠經過java -version
等命令查看或驗證,下面是本身服務器上java
的安裝信息和相關路徑的設置:
一、路徑/usr/lib/java
是本機下載好jdk-8u231-linux-x64.tar.gz
壓縮文件上傳到服務器的存放文件路徑,解壓後能夠將其壓縮包刪除。
二、/usr/java/java8
是本身在服務器上解壓文件路徑。
按照下面的命令行進行操做:
$ yum install yum-fastestmirror -y #安裝自動選擇最快源的插件
#添加Jenkins源:
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins #安裝jenkins
複製代碼
安裝完畢後,你就能夠啓動jenkins
了:
sudo service jenkins start
複製代碼
固然,啓動以後,它可能出現下面的問題:
圖上代表是你java
的引入路徑有問題了~
上圖意思是:啓動程序找不到java
。
那麼,你須要執行vim /etc/init.d/jenkins
命令進入文件,修改其路徑就好了,以下:
備註:linux 使用
find .|xargs grep -ri "要查找的字符串"
命令查找包含某字符串的文件
順利啓動後,控制檯有個success
的提醒。這時,你在瀏覽器上輸入http://your server ip:8080
就能夠打開了,呈現信息以下圖。jenkins
的默認端口號是8080
,固然,你能夠執行vim /etc/sysconfig/jenkins
進入文件修改端口號等。
同上,若是網頁不能打開,請查看下本身在阿里雲那裏有沒有設置好安全組了~
嗯,接下來就是一步步解鎖Jenkins
了。
咱們能在本身的服務上面成功安裝並運行了jenkins
,下面咱們來升級打怪,使用下jenkins
。
根據提示,咱們執行cat /var/lib/jenkins/secrets/initialAdminPassword
命令獲得Administrator password
,而後點擊繼續按鈕,往下走。
咱們選擇安裝推薦的插件
,等待安裝完畢。若是有安裝失敗的插件能夠跳過,以後能夠根據需求安裝。【安裝過程請保持網絡的順暢】
你能夠建立本身的管理員用戶信息,固然也能夠點擊使用admin帳號繼續
連接跳過。
設置完成以後,進入界面:
咱們的目的是要將github和jenkins結合起來,進行自動化發佈。如今來關聯下github
。以我本身的github
帳號爲例,進行配置。
secret text
在github
上被稱爲token
。
進入github --> Settings --> Developer settings --> Personal access tokens -> Generate new token
以後生成一個新的token
:
填寫好toke
的名稱,勾選完上面的兩個選項,以後按Generate token
按鈕進行確認:
本身先保存此token
,若是丟失,以後再也沒法找到這個token
了。
接着,選擇本身的一個github
項目,這裏我拿本身的博客倉庫https://github.com/reng99/blogs
做爲例子:
進入github上指定的項目 --> Settings --> Webhooks --> Add Webhook --> 輸入剛剛部署jenkins的服務器的IP
Payload URL
的內容就是http://your ip:8080/github-webhook/
。
正確安裝以後,接着,咱們來配置Github Plugin,若是你還沒安裝github plugin
,那就進入系統管理 --> 插件管理 --> 可選插件
進行安裝。(新版本的Jenkins)中已經幫你作了這一步。
這裏默認已經安裝了github plugin
,下面來配置~
系統管理 --> 系統設置 --> GitHub --> 添加Github服務器
以下圖所示:
API URL
輸入 https://api.github.com
,憑證Credentials點擊添加,類型選擇Secret Text
,具體以下圖所示:
點擊添加
按鈕後,下拉選擇憑證,選擇你新增的那個憑證,而後點擊鏈接測試
按鈕,提示Credentials verified for user xxx, rate limit: xxx
信息,則代表有效。
進入主頁 --> 新建任務
填寫GitHub project URL
,也就是你的主頁https://github.com/your_name/your_repo_name
,我這裏使用個人博客倉庫進行嘗試https://github.com/reng99/blogs
勾選Git
選項以後,就會出現相關的填寫項,根據下圖的指引來填寫就好了~
https://github.com/your_name/your_repo_name.git
點擊添加
增長Credentials
:
勾選GitHub hook trigger for GITScm polling
便可~
勾選Use secret test(s) or file(s)
便可~
選擇綁定 --> 點擊新增按鈕 --> 選擇Secret text --> 下拉選擇你以前設置的secret token --> 以後應用
我這裏基本沒怎麼操做,你能夠根據本身的需求來編寫構建的腳本了。
你能夠根據需求更改構建後的操做,我這裏都默認。
上面的工做都完成以後,修改下個人blogs倉庫的代碼,提交後,刷新下本身的jenkins地址
,出現下面的現象說明成功了~(ps: 第一次構建的時候比較耗時,請耐心等待,時不時刷新下頁面了)
在進行集成的過程當中,你可能會遇到下面的這些問題~
在進行初始化的時候,一些插件咱們可能會安裝失敗。不過,不要在乎,你能夠進來以後再針對須要的插件進行安裝。
安裝成功以後,進入/restart/
路徑對jenkins
重啓。
再次進入就正常了,美滋滋~
進入服務器查看是否安裝了git
# git version
複製代碼
沒有git,此時須要安裝git。
# yum install git
複製代碼
在構建觸發器的時候,找不到選項Build when a change is pushed to Github
那是由於新版的jenkins
將其修改成GitHub hook trigger for GITScm polling
了。