Docker + Jenkins + GitHub实现代码的持续集成

1,207 阅读2分钟
  1. 使用Docker在服务器上安装Jenkins
docker run --name reina-jenkins -p 8081:8080 -p 50000:50000 jenkins

此处使用的端口8081替换了默认的端口号8080,指定容器名为reina-jenkins.

启动成功后,查看容器的运行状态:

docker ps | grep reina-jenkins

安装完成后,配置防火墙放行8081端口,此处我用的是阿里云服务器,需在安全组中添加相应的配置即可。

  1. 初始化配置Jenkins

在浏览器中打开对应的xxx.xxx.xxx.xxx:8081,显示以下界面:

打印容器中的信息,获取初始化登录密码:

docker logs -f reina-jenkins

使用上述密码登录jenkins,首次登陆会自动跳转到出插件安装界面:

选择安装推荐插件,因没有配置代理,安装失败可暂时忽略:

创建用户并登陆:

  1. 登陆成功后,配置Jenkins代理:

    此处我使用的是清华大学的代理: mirrors.tuna.tsinghua.edu.cn/jenkins/upd…

    系统管理 - 管理插件 - 高级 - 升级站点 - 粘贴上述代理url - 提交

  1. 安装插件:

    代理配置成功后,可选择需要的插件进行安装:

    系统管理 - 管理插件 - 可选插件,可参考初始登陆时推荐安装的插件进行选择。

    因为要配置Jenkins从GitHub自动拉取代码,因此必须安装Git Plugin和GitHub Plugin。

  2. 在Jenkins中配置GitHub的权限

    登陆GitHub,依次选择settings - developer settings - personal access tokens - generate new token,选择如下选项(repo和admin: repo_hook)后生成token(记得复制,每个token只能显示一次):

​ 返回Jenkins,创建构建任务,自定义任务名称:

​ 创建完成后进入配置页面,选则GitHub项目,并输入Github的URL:

​ 源码管理中,选择Git,填入对应仓库URL:

​ 添加Credentials,选择类型为Secret Text,在Secret处填入github中生成的token:

指定需要构建的分支,默认为master,并选择构建触发时机,此处我勾选的是代码提交时自动触发:

到这里,github的配置算是完成了。

为了测试配置是否成功,下面配置构建脚本,打印‘Hello World’

配置完成后,在对应的代码仓库中push代码,该jenkins任务会被自动触发啦。