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

下载插件

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

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

配置要部署的服务器

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



(2)配置SHH,配置好后点击应用、保存

构建项目

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

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

(3)源码管理,选择GitHub

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

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

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

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

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

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

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

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

查看服务器的容器和镜像:

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

Jenkins使用SSH构建Go项目并执行的更多相关文章

  1. jenkins +git+ssh 构建 .net项目

    jenkins +git+ssh 构建 .net项目 安装jenkins jdk 和插件就不一一介绍了. Multiple SCMs 插件介绍:可以获取多个项目(如果你的项目中有依赖其他项目的) So ...

  2. Jenkins 十一: 构建Maven项目

    1. 点击“新建”,在“Item名称”栏输入要构建的项目名,比如“Maven_project”,选择“构建一个maven项目”,点击“OK”按钮. 2. 找到“源码管理”-> “Subversi ...

  3. Jenkins 五: 构建Ant项目

    1. 点击“新建”,在“Item名称”栏输入要构建的项目名,比如“Ant_project”,选择“构建一个自由风格的软件项目”,点击“OK”按钮. 2. 找到“源码管理”-> “Subversi ...

  4. Jenkins持续集成构建自动化测试项目

    1.配置内容安全策略(配置一次): 1.1.构建一个自由风格的软件项目 1.2.Build Triggers:Build when job nodes start 1.3.Build:Execute ...

  5. Jenkins+maven+SVN构建java项目中遇到的问题及解决

    [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a g ...

  6. Jenkins 八: 构建Git项目

    1. 安装git. http://git-scm.com/download/win 下载之后一步步安装即可.   2. 安装插件. 打开"系统管理" –> "管理插 ...

  7. jenkins配置slave节点 构建项目并执行操作

    1.新建与配置结点 [系统管理]-> [管理结点]-> [新建结点] 2.配置slave 说明: Name: 定义slave的唯一名称标识,可以是任意字符串,通常设置为slave主机名.i ...

  8. Jenkins自动构建gitlab项目(jenkins+maven+giltlab+tomcat)

    环境准备: System:CentOS 7.3 (最小化安装) JDK: 8u161 (1.8_161) tomcat: 8.5.29 Jenkins: Jenkins 2.107.1 Gitlab: ...

  9. [ci]jenkins构建容器项目java-helloworld-非docker plugin模式

    栗子思路说明: 不使用任何docker plugin 使用jenkins server本地(含mvn环境)构建,无jenkins slave jenkins server本地构建的war包,推送dep ...

随机推荐

  1. 关于ios沙盒

    沙盒下主要有四个文件夹:document,caches,tmp,library document 的路径  程序运行时生成的文件,这个文件不要存比较放大的文件,比如音频,视频类,因为这里的东西会被上传 ...

  2. tp5引用第三方类vendor或extend(多种方法)

    extend 方法一:命名空间引入 我们只需要把自己的类库包目录放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间,例如: 我们在extend目录下面新增一个l ...

  3. Centos7使用Yum安装高版本的LNMP

    [摘要] 本文旨在介绍使用yum的方式安装一些高版本的NGINX.MySQL.PHP服务.当然如果觉得红帽给的就够用,就用红帽给的就行. 在红帽系列的Linux操作系统中,nginx/mysql/ph ...

  4. Python报错ERROR: Command errored out with exit status 1:

    解决方法: 1.以管理员身份打开cmd 2.pip install robotframework-AutoItLibrary (本次安装时Python基于3.7.3,pip为最新版本) 3.安装成功

  5. .Net core_Excel 导出二维码(以导出箱单为例)

    [AccessLogAttribute(Note = "导出条形码箱单 — 条形码")]public ActionResult ExportContract(string INNE ...

  6. 借 redis cluster 集群,聊一聊集群中数据分布算法

    Redis Cluster 集群中涉及到了数据分布问题,因为 redis cluster 是多 master 的结构,每个 master 都是可以提供存储服务的,这就会涉及到数据分布的问题,在新的 r ...

  7. ACM-ICPC 2018 焦作赛区网络预赛 H题 String and Times(SAM)

    Now you have a string consists of uppercase letters, two integers AA and BB. We call a substring won ...

  8. 深入理解 Java 泛型

  9. 经典常用SQL语句大全

    创建表 --删除表 --DROP TABLE [dbo].[Test] --创建表 CREATE TABLE [dbo].[Test] ( ,) PRIMARY KEY, ----自增主键 ) NUL ...

  10. 【Ubuntu 16.04.2_64】系统配置

    Ubuntu 16.04.2_64系统配置 转载:http://www.cnblogs.com/yangchongxing/p/9049897.html Ubuntu Server服务指南:https ...