使用Jenkins对go程序进行编译,并构建docker镜像。这里讲述了在Centos7系统上,从零开始配置Jenkins(设置jenkins home目录、配置角色、配置用户),新建项目,配置docker。

系统环境:Centos7

Jenkins:2.165

Go:1.10.2

Docker: 18.03.1-ce

一、安装Jenkins

  1. 安装

添加Jenkins repository 到yum repos, 再安装Jenkins.

1
2
3
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

或者直接下载, 并将war包添加到环境变量中。

  1. 运行

在终端中执行:

1
   java -jar jenkins --httpPort=8080 

在浏览器打开 http://localhost:8080

指定Jenkins HOME目录可以:

1
   JENKINS_HOME=/home/xw/jenkins_home java -jar /usr/lib/jenkins/jenkins.war --httpPort=8080 &

二、配置Jenkins中文化

使用第三方插件:Locale plugin

具体参见:Jenkins强制设置语言为中文

三、配置Jenkins的授权和访问控制

由于jenkins默认的权限管理体系不支持用户组或角色的配置,所以使用第三方插件Role Strategy Plugin实现。

配置过程,见:Jenkins学习七:Jenkins的授权和访问控制

配置过程中,配置不当导致admin无法登陆时,可以通过修改配置文件方式解决, 具体可以参见以下方式解决:

四、配置Git证书

有两种方式, 一种是配置仓库的用户名和密码,另外一种是配置SSH私钥, 配置方式具体可以参见:

五、支持参数化构建

构建可以通过设置参数,来达到可以在指定的分支、指定的Tag或者特定参数(如指定版本号)的情况下,进行特定化构建。

Jenkins默认不知可选择的参数,可以通过第三方插件来支持: Extensible Choice Parameter plugin

具体操作配置,可以参见:

配置过程中的指定的参数,会在[Build->Execute shell]中以环境变量的形式存在。

##六、配置Docker

这里准备使用新建[Freestyle project]项目,并通过【Execute shell】的最基本的方式来构建Docker镜像

由于Excel shell中是使用系统jenkins用户来执行docker命令,所以需要在jenkins用户下进行登录Docker私有仓库。

1
2
sudo su -s /bin/bash jenkins
bash-4.2$ docker login --username=xxx registry.cn-beijing.aliyuncs.com

七、配置项目

在新建的自由风格项目中,指定好代码仓库后, 编辑Build部分如: