前面我们已经讲过Jenkins的安装,在Centos下搭建Jenkins环境 和 基于Docker搭建Jenkins环境, 建议先在Centos下搭建Jenkins环境。本篇主要讲解一下如何利用Jenkins进行简单的自动化部署。
我要实现的目标是这样的:
在Team内部我们使用Github这个平台管理Code, 团队里的每个人都要push自己的Code(具体的流程,抽时间来讲讲),我希望每次push Code时,能自动部署到我的测试环境中以便实时测试新feature.
在进行下面的步骤之前请安装好git。最好使用Safari浏览器(我在Chrome下出现错误直接至卡死)
安装Github Integration Plugin
配置Github中Hooks & services
Jenkins hook url 格式为 : /github-webhook/
- 配置Github中的Display keys
1 | sudo su -s /bin/bash jenkins // 务必以用户jenkins身份登录到centos中 |
打开自己在Github中的仓库,点击右上角的setting –> Display keys, 输入刚才获取到的key.
- 检测Jenkins是否可以访问Github
1 | sudo su -s /bin/bash jenkins // 务必以用户jenkins身份登录到centos中 |
如果jenkins成功访问Github,则提示如下信息
Warning: Permanently added the RSA host key for IP address ‘{YOUR_SERVER_IP}’ to the list of known hosts.
PTY allocation request failed on channel 0
Hi marcbest/medium-jenkins-git-tut! You’ve successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
- 进入Jenkins, 创建item
- Job配置
总结:
1). Jenkins安装后,会在Centos中自动创建一个用户jenkins, 可以通过命令cat /etc/passwd | grep jenkins查看
jenkins:x:497:188:Jenkins Automation Server:/var/lib/jenkins:/bin/false
2). 执行命令ssh-keygen 和 ssh git@github.com 务必以jenkins身份登录到centos中
3). 对于Github Enterprise级的用户, 有可能会自定义域名point at Github, 因此执行ssh git@github.com, 要换成自己的domain.
好了,可以去试试push到自己的repository去看看了。
Jenkins的功能非常强大,对于持续集成(Continuous Integration, 简称CI)持续部署(Continuous Deploy, 简称CD)的配置也是相当的复杂,由于精力和知识有限,本文仅仅起到抛砖引玉之作用。后面将抽时间整理一下jenkins的pipeline以及如何用jenkins自动化部署前端代码。