引子
對(duì)于當(dāng)前快節(jié)奏的產(chǎn)品發(fā)布周期, 持續(xù)集成系統(tǒng)的使用是必不可少的. 在確定了用dotnet core作為主要開(kāi)發(fā)平臺(tái)之后就開(kāi)始琢磨著搭建起CI環(huán)境, 便有了此文.
Jenkins的安裝
之前用過(guò)Bamboo和Jenkins, 由于Bamboo是在公司中使用的, 而且當(dāng)今的開(kāi)源社區(qū)一片繁榮, 估計(jì)很少會(huì)有人愿意花錢買個(gè)CI系統(tǒng)去用, 所以選擇了Jenkins來(lái)做介紹.
當(dāng)前已經(jīng)是Docker的時(shí)代, 如果你不用或你不會(huì)用docker, 你都不好意思跟人說(shuō)你是碼農(nóng), 鑒于此, 我向大家隆重推出Jenkins官方的Docker Image.
考慮到.net程序員接觸過(guò)docker的比較少, 在此對(duì)docker做一個(gè)簡(jiǎn)要的介紹, 看鏈接Docker簡(jiǎn)介 .
請(qǐng)注意川酷最終并沒(méi)有選擇用Docker來(lái)運(yùn)行Jenkins, 如果專注于Jenkins 對(duì)于dotnet core的配置, 請(qǐng)?zhí)絁enkins的配置步驟!
安裝docker異常簡(jiǎn)單, 無(wú)論你是Windows, OSX還是Linux, 下載安裝即可, 地址點(diǎn)這里 安裝后會(huì)有一個(gè)短暫的啟動(dòng)過(guò)程, 然后就可以用命令行進(jìn)行操作了.
首先下載Jenkins官方的Image, 如下面這個(gè)命令
docker search jenkins
搜到的結(jié)果中第一個(gè)即是
下載這個(gè)image
docker pull jenkins
因?yàn)槲乙呀?jīng)下載了, 所以是下面這個(gè)效果
下載好了后, 用下面的命令啟動(dòng)
docker run -p 8088:8080 -p 50001:50000 -v /var/jenkins_home jenkins
然后瀏覽器中輸入網(wǎng)址http://localhost:8088, 即可打開(kāi)Jenkins的UI界面.
以上是Jenkins官方的image運(yùn)行方法, 由于川酷用的是Win10, 又懶于安裝Linux虛擬機(jī), 硬盤不能跟docker內(nèi)共享, 并且Jenkins官方的image竟然不支持sudo, 根本無(wú)法安裝dotnet core. 所以對(duì)于docker的介紹至此結(jié)束!
好了, 裝13結(jié)束, 下面開(kāi)始正式的安裝Jenkins!
在Jenkins官網(wǎng)下載Jenkins的war文件, 然后運(yùn)行
java -jar jenkins.war
打開(kāi)瀏覽器, 輸入地址 http://localhost:8080/ 則可以打開(kāi)Jenkins的頁(yè)面.
提示輸入一個(gè)密碼, 在啟動(dòng)控制臺(tái)中可以找到, 如下圖
輸入之后點(diǎn)擊Continue, 即可進(jìn)去安裝過(guò)程
為了成功裝13, 我選擇第二種! 默認(rèn)配置已經(jīng)安裝了Git, svn, 也安裝了一些編譯器, 我只比默認(rèn)多選了一個(gè)Xunit
安裝完成會(huì)提示輸入用戶名密碼等, 很簡(jiǎn)單, 不詳述.
Jenkins的配置
登陸進(jìn)來(lái)以后, 進(jìn)入配置步驟, 點(diǎn)擊創(chuàng)建一個(gè)新任務(wù) 進(jìn)入下面的界面
為任務(wù)起個(gè)名字, 選擇第一個(gè)選項(xiàng), 然后點(diǎn)擊OK. 然后選擇一下你使用的源代碼管理工具, 并填入相關(guān)的代碼庫(kù)地址, 為了方便使用了Github作為源碼庫(kù).
我用的Git, 所以就以Git為例. 構(gòu)建出發(fā)器選擇了Build when a change is pushed to GitHub和Poll SCM, Jenkins將根據(jù)一定的周期檢測(cè)是否有新的提交, 有的話則會(huì)pull下代碼進(jìn)行Build, 下面這個(gè)圖是配置的兩分鐘檢測(cè)一次
構(gòu)建環(huán)境勾選了每次構(gòu)建前刪除之前構(gòu)建的內(nèi)容并且構(gòu)建卡住的話會(huì)殺掉構(gòu)建進(jìn)程, 如圖
構(gòu)建步驟增加一個(gè)windows批處理的步驟, 如果是linux就選shell, 腳本很簡(jiǎn)單
dotnet restore
dotnet build
dotnet publish
構(gòu)建后操作添加一個(gè) **Archive for artifacts ** 填入構(gòu)建后publish的地址, 大概的形式參考下圖.
點(diǎn)擊保存即完成了配置過(guò)程.
看結(jié)果
費(fèi)了九牛二虎之力, 川酷終于配置完成, 看圖
只要代碼庫(kù)有變化, 構(gòu)建會(huì)很快執(zhí)行.
如果你認(rèn)真看了此文, 并按步驟執(zhí)行一定會(huì)發(fā)現(xiàn)問(wèn)題, 歡迎討論!