Jenkins使用SSH構建Go項目並執行

Jenkinx可以幫助我們通過SSH插件,將項目直接部署到指定的服務器。

下載插件

(1)點擊左側的“系統管理”菜單 ,然後點擊

9_5.png

(2)選擇“可選插件”選項卡,搜索Publish over SSH,在列表中選擇Publish over SSH ,點擊“直接安裝”按鈕,安裝完成後如下圖

9_104.png

配置要部署的服務器

(1)選擇系統管理,選擇系統設置

9_105.png
(2)配置SHH,配置好後點擊應用、保存
9_106.png

構建項目

(1)回到首頁,點擊新建按鈕 .如下圖,輸入名稱,選擇創建一個自由風格的項目,點擊OK

9_90.png

(2)General管理,可以添加項目描述和GitHub項目路徑,以及一些配置

9_91.png

(3)源碼管理,選擇GitHub

9_92.png

9_93.png

9_94.png

(4)構建觸發器,配置觸發規則,這裏以定時和輪詢爲示例,配別設置爲

9_95.png

定時構建:定時構建1次任務

輪詢SCM:定時查看源碼管理的代碼是否更新,有更新則構建,否則不會構建

如圖所示,定時構建爲每間隔10分鐘定時構建一次,輪詢SCM爲每5分鐘輪詢檢測一次。

時間*號規則爲: 分 時 日 月 周

(5)構建環境,配置控制檯輸出時間戳和指定Go語言版本

9_96.png

(6)構建,使用之前配置的SSH服務器,通過項目的Dockerfile構建鏡像,Shell腳本啓動容器

9_107.png

Exec command如下:

cd /mnt/data/jenkins
source /etc/profile
chmod 777 build.sh run.sh
./build.sh 

項目內的Dockerfile如下:

FROM golang:1.11-alpine

ENV Jenkins=/go/src/github.com/Jenkins

COPY . $Jenkins/

RUN cd /go/src/github.com/Jenkins \
&& go build

FROM alpine

ENV Jenkins=/go/src/github.com/Jenkins
COPY --from=0  $Jenkins/Jenkins /usr/bin
WORKDIR /data

CMD ["Jenkins"]

build腳本如下:

#!/bin/bash

docker rmi jenkins:v1.0
docker build . -t jenkins:v1.0

docker rm -f jenkins
docker run -itd --restart=unless-stopped -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone --name jenkins -v $(pwd):/data --network=host jenkins:v1.0

docker logs -f jenkins

最後點擊“保存”按鈕

(7)執行構建,控制檯查看輸出

9_102.png

9_110.png

查看服務器的容器和鏡像:
9_111.png

至此,就完成了使用SSH構建Go項目的所有搭建流程。

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