使用jenkins+github+docker是一个很常用的持续集成、持续交付方案了,这篇文章描述了搭建这套系统的流程,记录了一些坑点。
配置github
- 在’setting’里找到配置SSH key的地方:https://github.com/settings/keys
- 根据文档,新建或使用一个已有的key
- 在开发设置(setting-Developer settings-)中配置一个带权限的access_token,注意,’repo’和’admin:repo hook’这两项是必选的,这个简单
安装docker
- 阅读官方CentOS安装文档,按步骤装,简单的很
安装jdk8
- 上java官网下一个,然后安装,配环境变量,比上面更简单
1 | 下载解压(注意用wget要先点下载,然后把带auth参数的链接放到wget) |
在底部加入如下,注意目录名别配错了:
1 | JAVA_HOME=/usr/java/jdk1.8.0_201 |
运行source /etc/profile
让配置立即生效
验证安装:java -version
,javac
安装Jenkins
- 去官网下载
1
2wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
java -jar jenkins.war --httpPort=8080
然后访问 ip:8080即可
- 也可以在docker里装,这样就不用什么jdk了
1
2
3
4
5
6
7
8
9
10
11
12
13
14docker pull jenkins/jenkins:lts
建个目录,给他权限
mkdir /home/jenkins
chown -R 1000:1000 jenkins/
ls -nd jenkins/
给镜像打个标签
docker images
docker tag jenkins/jenkins:lts jenkins:lts
docker images
容器跑起来,映射目录
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins:lts
这时候用 ip:8080 就可以访问了,进去以后设置好初始admin账户密码,插件选推荐就行了。
配置Jenkins
- 左侧’系统管理’-右侧’系统设置’,找github服务器,添加一个,添加凭据,凭据类型选secret text,凭据添刚才github生成的access_token,id不用填,保存,勾上manage hooks,然后点连接测试,通过即可。
- 新建个任务(job),把配置都填好,shell脚本写好即可。
至此,github+jenkins+docker的环境就搭好了,随后可以在jenkins中执行预先编写好的makefile和dockerfile来打包docker镜像和部署应用,本文不赘述makefile和dockerfile等的具体使用方法。