go jenkins自動編譯部署

jenkins安裝

安裝包下載位置,可以直接安裝對應系統安裝包,也可以使用通用安裝包.war文件,這裏使用war包安裝。

  • 單獨運行

Jenkins可以作爲一個獨立的應用程序在其自己的流程中運行, 內置Java servlet 容器/應用程序服務器(Jetty)。

運行命令java -jar jenkins.war,瀏覽http://localhost:8080並等到Unlock Jenkins頁面出現,默認8080端口,也可以指定端口–httpPort=9090。

  • Tomcat中運行

複製下載的Jenkis.war到Tomcat的webapps文件夾中文件夾中,Tomcat/bin運行 start.bat啓動。打開鏈接http://localhost:8080/jenkins,Jenkins 將啓動並To在mcat上運行。

jenkins配置

  • 用戶管理

默認Jenkins全新安裝會進入解鎖頁面,這時候需要從Jenkins控制檯日誌輸出(如下)中,複製自動生成的字母數字密碼,將此【密碼】粘貼到管理員密碼字段中,然後單擊【繼續】。

安裝jenkins

新用戶的創建和管理在【系統管理-管理用戶】頁面。

  • 主目錄配置

Jenkins需要一定的磁盤空間來進行構建和保持檔案,可以通過環境變量JENKINS_HOME配置,可以通過【系統管理-系統設置-Home Directory】查看該路徑,默認爲 ~/.jenkins。

  • 訪問URL

默認Jenkins URL指向本地主機:localhost,如果已爲機器設置一個域名,如果希望發送郵件等操作時,生成的鏈接爲當前域名方式,需要在【系統管理-系統設置-Jenkins Location】設置對應域名全稱如http://myhost.com:8090/。

go插件安裝

Jenkins安裝插件套路都一樣,【系統管理-插件管理】中安裝插件,【系統管理-全局工具配置】中配置插件參數。

這裏先在插件管理中搜索安裝Go Plugin,然後進入工具配置中安裝對應的Go 版本,可以選擇自動安裝選擇從官方拉取安裝,但是國內往往拉取失敗,如下,可以去掉勾選手動安裝後在這指定安裝目錄即可。

配置go

注意安裝Go Plugin只是安裝了Jenkins的操作部分,具體的執行編譯器需要在工具配置另外安裝,這種方式支持同時安裝多個版本的Go,其他的編譯插件也類似。

本次同樣還需要安裝Git plugin。

編譯配置

點擊新建任務後,進入項目配置頁面,依次如下配置:

  • Source Code Management中配置需要拉取的Git項目位置和對應的分支

配置Git

如上,這裏需要指定訪問對應的Git倉庫的訪問憑據,點擊Add或在【系統管理-憑據-系統-全局配置】中新增憑據,常用兩種方式

  1. Username with password

直接輸入登錄git 的用戶名和密碼。

  1. SSH Username with private key

配置SSH

在Git倉庫 Setting中配置對應登錄用戶的公鑰,將對應私鑰匙填入這裏的Enter Directly框中。

  • Build Environment中配置Go環境

配置build環境

如上,勾選Set up Go programming language tools,選擇上一步安裝配置的Go環境

  • Build配置

添加build

如上,添加一個Build Step-執行Shell,這裏在項目中已經編寫Makefile文件,可以直接調用make編譯。

這裏採用Go Modules管理項目,因此會自動拉取依賴,在編譯前先設置GOPROXY環境變量來保證正常拉取所有依賴包。

編譯完成的包需要推送到對應的機器上,這裏使用rsync命令同步文件,文件同步完成後使用一個腳本來重啓服務,至此整個自動編譯部署啓動流程完成。示例Shell如下:

pwd
export GOPROXY=https://goproxy.io
cd ./src && make

hosts="
host1.net
host2.net
"
deployPath="/home/mypath"

for host in $hosts
do
echo $host start
rsync -r -v -I --exclude=.* ./build.tar.bz2 sync360@$host:$deployPath
rsync -r -v -I --exclude=.* ./script/restart.sh sync360@$host:$deployPath/shells
ssh sync360@$host "/home/mypath/shells/restart.sh"
done

參考文檔

具體安裝示例可以參考快速教程

使用Docker來安裝Jenkins,參考官方文檔

更復雜的編譯部署可以使用Jenkins的Pipeline

原創,轉載請註明來自

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章