Jenkins使用SSH构建Go项目并执行

目录

  • 下载插件
  • 配置要部署的服务器
  • 构建项目

Jenkinx可以帮助我们通过SSH插件,将项目直接部署到指定的服务器。

下载插件

(1)点击左侧的“系统管理”菜单 ,然后点击

Jenkins使用SSH构建Go项目并执行_第1张图片

(2)选择“可选插件”选项卡,搜索Publish over SSH,在列表中选择Publish over SSH ,点击“直接安装”按钮,安装完成后如下图

Jenkins使用SSH构建Go项目并执行_第2张图片

配置要部署的服务器

(1)选择系统管理,选择系统设置

Jenkins使用SSH构建Go项目并执行_第3张图片
(2)配置SHH,配置好后点击应用、保存
Jenkins使用SSH构建Go项目并执行_第4张图片

构建项目

(1)回到首页,点击新建按钮 .如下图,输入名称,选择创建一个自由风格的项目,点击OK

Jenkins使用SSH构建Go项目并执行_第5张图片

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

Jenkins使用SSH构建Go项目并执行_第6张图片

(3)源码管理,选择GitHub

Jenkins使用SSH构建Go项目并执行_第7张图片

Jenkins使用SSH构建Go项目并执行_第8张图片

Jenkins使用SSH构建Go项目并执行_第9张图片

(4)构建触发器,配置触发规则,这里以定时和轮询为示例,配别设置为

Jenkins使用SSH构建Go项目并执行_第10张图片

定时构建:定时构建1次任务

轮询SCM:定时查看源码管理的代码是否更新,有更新则构建,否则不会构建

如图所示,定时构建为每间隔10分钟定时构建一次,轮询SCM为每5分钟轮询检测一次。

时间*号规则为: 分 时 日 月 周

(5)构建环境,配置控制台输出时间戳和指定Go语言版本

Jenkins使用SSH构建Go项目并执行_第11张图片

(6)构建,使用之前配置的SSH服务器,通过项目的Dockerfile构建镜像,Shell脚本启动容器

Jenkins使用SSH构建Go项目并执行_第12张图片

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)执行构建,控制台查看输出

Jenkins使用SSH构建Go项目并执行_第13张图片

Jenkins使用SSH构建Go项目并执行_第14张图片

查看服务器的容器和镜像:
Jenkins使用SSH构建Go项目并执行_第15张图片

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

你可能感兴趣的:(Jenkins使用SSH构建Go项目并执行)