前面四篇文章,已经整理和介绍了容器微服务,这一批主要介绍持续集成。结合Jenkins来实现容器微服务项目的持续集成。希望能帮助到需要的朋友们,编写图文不易,喜欢的朋友欢迎关注哦。
1、登录Jenkins
2、安装插件
2.1 进入插件管理
点击"系统管理"->"管理插件"
2.2 查看可用插件
在“可选插件”中搜索“GitLab Plugin”和“Git Plugin”两个插件,然后点击“直接安装”。如果在"可选插件"里没有找到,可能默认已经安装了,可以在“已安装”里查看。
2.3 安装插件
这里没有Gitlab plugin、Publish Over SSH,Gitlab Hook需要从本地上传后安装。下载gitlab-plugin.hpi、publish-over.hpi、publish-over-ssh.hpi、ruby-runtime.hpi、gitlab-hook.hpi文件,并顺序安装。上传后自动安装完成。
3、获取GitLab用户Token
3.1 新建Token
登录gitlab页面,在Access Tokens中,创建一个新的Token,Expries at有效期暂时设定为2020年1月。Scopes全选。创建完成后复制Your New Personal Access Token。
3.2 配置GitLab插件
打开Jenkins,点击“系统管理”->“系统设置”,点击“配置”下拉框,选择“Gitlab"选项
填写connection name,随便填。Gitlab host URL填GitLab的访问地址
然后点击“add"-"jenkins",选择GitLab API token类型,在API token项填写之前复制的Your New Personal Access Token。点击添加。
配置完成后,点击连接测试,测试通过显示Success,表示通过GitLab api token方式登录gitlab成功。点击“应用”,“保存”。
3.3 配置Git插件
打开Jenkins,点击“系统管理”->“系统设置”,点击“配置”下拉框,选择“Git plugin”选项,设置Git插件的全局配置,然后点击“应用”->“保存”。
4、创建Jenkins Job
4.1 创建job
在Jenkins首页,创建一个新任务,填写任务名称后,选择构建一个自由风格的软件项目,点击确定。Job创建完成。
4.2 存放私钥
在GitLab ssh key配置项中,添加Jenkins服务器的ssh公钥,具体添加方法参考GitLab添加SSH Key。同时记录下Jenkins服务器ssh 私钥,私钥,私钥的存放路径。/root/.ssh/id_rsa。
4.3 配置job
打开Jenkins,进入Job页面,看到已经创建好的Job点击Job名称后,进入新页面,点击“配置”。
4.4 配置job的源码管理
点击源码管理,选择Git,配置Repository URL地址,和使用git clone命令的地址一样。在credentials里选择add,添加配置。此处填写jenkins服务器私钥,私钥。Passphrase在ssh key生成时没有配置的可以不填。
填写完成后,选择添加。在上一界面选择这个名称。如果没有报错标明验证成功。点击保存。如果有红色错误信息表示验证没通过。
4.5 配置job构建出发前
进入jenkins首页,选择系统管理中全局安全配置,勾选匿名用户具有可读权限。同时不勾选防止跨站点请求伪造。
建立jenkins构建触发器,记住URL地址。点击高级,勾选Filter branches by name并写上分支名字master,点击Generate,生成一个Secret token。
配置完点击保存。后登录gitlab页面进行修改设置,勾选允许本地请求。
修改webhook,在settings的integrations选项中,配置url为Jenkins中的URL,Secret token为Jenkins新建的Secret token。勾选Push events,点击add webhook。
4.6 配置远程主机ssh信息
Jenkins首页选择系统管理,点击系统设置
在配置中选择Publish over SSH添加SSHServers信息,可以以key方式也可以以账号密码方式登录。点击Test Configuation测试成功表示连接正常。Remote directory为相对前面SSH Server中配置的远端路径的目录,如果需要多台机器执行,可以点击添加。
4.7 构建代码
构建代码,点击增加构建步骤,选择Send files or execute commands over SSH。
Source files为相对jenkins workspace目录的相对目录
Remove prefix为需要移除的前缀目录
Remote directory为相对前面SSH Server中配置的远端路径的目录
Exec command为执行的命令
4.8 构建运行
执行代码,在jenkins首页选择建立的工程,点击进入该工程后,点击立即构建。工程执行后会有日志输出点击#3,继续点击控制台输出可查看最新的日志。
在查看日志之前,可以先登录172.17.42.77服务器,进入/springCloud目录下,验证文件已从gitlab拉起,并传输到77服务器。命令已经执行,控制台输出可以看到相关结果。
可以看到代码构建成功。