
什么是Jenkins?
Jenkins 是一款流行的開源持續(xù)集成(Continuous Integration)工具,廣泛用于項目開發(fā),具有自動化構(gòu)建、測試和部署等功能。
它是一個自動化的周期性的集成測試過程,從檢出代碼、編譯構(gòu)建、運行測試、結(jié)果記錄、測試統(tǒng)計等都是自動完成的,無需人工干預(yù),有利于減少重復(fù)過程以節(jié)省時間、費用和工作量;
它需要有專門的集成服務(wù)器來執(zhí)行集成構(gòu)建;
它需要有代碼托管工具支持,比如SVN;
官網(wǎng)地址地址:https://jenkins.io
Jenkins的主要目標(biāo)是監(jiān)控軟件開發(fā)流程,快速顯示問題;
jenkins持續(xù)集成中的任何一個環(huán)節(jié)都是自動完成的,無需太多的人工干預(yù),所以它有利于減少重復(fù)過程以節(jié)省時間、費用和工作量。

安裝jenkins
mac上安裝
mac上安裝有多種方式,下面介紹三種方式:
- brew install Jenkins
- docker pull docker pull jenkins
- 官網(wǎng)下載 .dmg文件或 Jenkins.war文件,然后運行
jenkins運行
運行方式有兩種選擇:
java -jar jenkins.war- 還有一種安裝方式就是將下載的war包文件部署到 servlet 容器,一般是tomcat, 然后啟動容器,在瀏覽器的URL地址欄中輸入類似http://localhost:8080/jenkins/這樣的地址即可。
jenkins配置
jenkins可以通過web頁面進行配置。第一次進入,就會要求,選擇安裝的插件, 根據(jù)自己的需求進行安裝。
jenkins安裝go 1.11
Jenkins 配置完畢后,在正式執(zhí)行 Go 工程編譯前,我們需要安裝一個 Go Plugin 插件,該插件主要完成以下幾個功能:
提供各預(yù)編譯版本 GO 安裝包,方便 Jenkins 所在機器執(zhí)行安裝。
配置 GOROOT 環(huán)境變量,并指向安裝的 Go 工具。
添加 $GOROOT/bin 到系統(tǒng) PATH 中,以方便構(gòu)建時使用 GO 工具時可以直接使用。
說明一下,我們知道 GO 項目執(zhí)行編譯,需要指定好 GOROOT 以及配置 GOPATH 到環(huán)境變量中,這里插件直接幫我們配置好了,當(dāng)然如果覺得默認配置路徑不合適,我們也可以在執(zhí)行構(gòu)建時臨時臨時指定其他目錄。
安裝該插件,點擊 “系統(tǒng)管理” -> “插件管理” -> “可選插件” -> 選擇 “Go Plugin” -> 點擊最下邊 “直接安裝” 即可完成安裝。

安裝完畢后,我們進入到 “系統(tǒng)管理” -> “全局工具配置” -> “Go” -> “新增 Go”,默認情況下,插件自動安裝 “Install from golang.org”,我們直接選擇 Go 版本以及配置別名即可,如下圖。

安裝完畢后,我們就可以使用 Go Plugin 插件啦!有兩種方式使用該插件。
- 新建任務(wù),選擇自由風(fēng)格的軟件項目

寫入配置:

構(gòu)建完成后,執(zhí)行shell, 然后構(gòu)建,console打印如下:
-
使用流水線類型的項目
配置如下:
構(gòu)建輸出結(jié)果如下:
配置 Jenkins Job 構(gòu)建 Go 工程
插件調(diào)試完畢,接下來配置構(gòu)建 Go 工程,使用git進行拉代碼,拉取代碼,進行構(gòu)建, 創(chuàng)建一個自由風(fēng)格的軟件項目,
另外,這里說一下,如何配置 ssh-key, 在憑據(jù)-> 系統(tǒng)->全局憑據(jù)-> 添加憑據(jù),
輸入一個可以連通github的ssh-key的私鑰皆可以了。
我們點構(gòu)建,構(gòu)建完成以后,可以通過工作空間進行查看,在項目下面有build的文件
編譯成功如下:
可以下載編譯的文件:
另外,可以在執(zhí)行完以后。
export GOPATH=$WORKSPACE
export PATH=$GOPATH:$PATH
echo "GOPATH: ${GOPATH}"
mkdir -p $GOPATH/src/golang.org/x/
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/sys.git sys
go install sys
cd $GOPATH/src && git branch --set-upstream-to=origin/master master && go get github.com/oschwald/geoip2-golang && go get github.com/go-sql-driver/mysql && cd bob && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
上面第一次執(zhí)行完以后,后續(xù)是不需要再執(zhí)行安裝的了。
由于上面有些內(nèi)容比較敏感,我就沒有放圖片了,如果有疑問,可以私信給我,或評論。