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. 谈谈.net对象生命周期

     不用程序员操心的堆 — 托管堆         程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存和栈内存.    栈内存,通常使用的 ...

  2. 【Python成长之路】从 零做网站开发 -- 基于Flask和JQuery,实现表格管理平台

    [写在前面] 你要开发网站?    嗯.. 会Flask吗?    什么东西,没听过... 会JQuery吗?    是python的库吗 ? 那你会什么?    我会F12打开网站 好吧,那我们来写 ...

  3. 关于TC297的Flash写入之前是否需要先擦除的问题

    通过实际测试,对TC297 Flash的一个地址空间可以重复执行写入操作(program),而不需要先对该区域所在扇区进行擦除. MPC5675K则需要在写入之前进行擦除.

  4. 创建raid5(3个raid2个备份)

    创建raid5(3个raid2个备份) 1.首先创建五个磁盘 2.创建RAID5并设置2块备份故障盘: 3.可查看下阵列的详细信息(Spare Devices数量为1): 4.将磁盘阵列格式化为ext ...

  5. Android Selector和Shape的用法

    一.Shape的用法 :shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: 填充:设置填充的颜色 间隔:设置四个方向上的间隔 大小:设置大小 圆角:同时 ...

  6. layer ui 多选下拉取值(全)

    https://maplemei.gitee.io/xm-select/#/basic/create   layer ui

  7. Python之Flask项目开发【入门必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:藤藤菜丶 Flask 安装Flask模块 创建一个Flask项目 运行 ...

  8. .Net Core 3.0 以及其前版本编写自定义主机,以允许本机程式(转载)

    像所有的托管代码一样,.NET Core 应用程序也由主机执行. 主机负责启动运行时(包括 JIT 和垃圾回收器等组件)和调用托管的入口点. 托管 .NET Core 运行时是高级方案,在大多数情况下 ...

  9. Cisco学习记录(一):Cisco Packet Tracer官网下载方法

    通过Cisco Packet Tracer学习计算机网络知识 本人大三狗一枚,一直以来都在学java, python, web开发的我,经过一番决定,毅然决然要开始深入学习计算机网络!通过Cisco ...

  10. Java8-Lamda和Stream原理引入

    一说明 这边文章主要是带大家为什么会有lamda表达式的出现,流式思想的产生.具体的Lamda表达式操作,Stream流会在后面的文章更新,有兴趣的朋友也可以加一下我微信公众号,分享学习干货. 二ja ...