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项目的所有搭建流程。

posted @ 2019-08-12 14:28  回首笑人间  阅读(1633)  评论(0编辑  收藏  举报
CSS日食与太阳碰撞

更多源码:源码之家