前言
公司之前的项目发布是通过jenkins自动发布的,只要在jenkins上选择项目,点击构建项目,项目就自动部署好了。对于开发人员来说这非常方便,只要修改好源码,提交到github中后,登录jenkins的Web界面,选择项目点击构建就行了。几经摸索后,我终于在自己的Mac上搭建成功了,期间碰到的问题大多是关于docker方面的,其中有个问题还没有从根本上解决,只是通过变通的方式使得部署成功,在后文中将会提到。
前置条件
- 已经安装好jenkins
- 已经安装好git
- 已经安装好docker,我这里使用的是docker for mac版本
- 有一个测试的项目,我这里使用的是springboot搭建的一个项目。
搭建步骤
jenkins上新建项目
登录jenkins后点击新建项目
输入项目名称,选择构建项目类型,我这里选择了构建一个自由风格的软件项目
源码管理选择git,输入git仓库地址,选择分支
构建选择shell构建,输入要执行的脚本
完成上述步骤后点击保存
为项目添加Dockerfile文件
|
|
添加后的目录结构如下
自动部署
返回到主页面,点击构建按钮
进入控制台可以查看构建情况
控制台最后,看到finished:success则表示构建成功
遇到的问题
- docker registry不能push成功
解决办法: advance中添加docker私服地址
- docker远程管理失败
解决办法:由于我的docker版本是docker for mac,我查了很多资料,基本都是linux的docker版本远程管理解决方案,没有mac版本的方案。所以就退而求其次,把-H 192.168.1.207
给删除了,相当于访问服务器本机的资源,如果有多台服务器,那就必须通过-H ip
来管理了。
后记
这次的搭建中新学到了不少的东西,比如docker的私服,docker的远程管理,dockerfile文件等等,其中mac上的远程管理我暂时还未能实现。我打算去centos服务器中再去从头搭建一次jenkins+docker+git+maven自动部署,巩固所学知识的同时看看mac和centos上搭建的区别,并在centos上实现docker的远程管理。