介绍
介绍
好久没有更新了,先给大家说一声抱歉!这段时间福哥把同福网的搜索功能整体重构了一遍,增加了很多的功能,目的是让大家在搜索技术文章的时候体验更好~
今天我们来学习使用Jenkins调用docker-compose部署服务的方法!结合前面学习的使用Jenkins构建Docker镜像的技术,就可以使用Jenkins实现从更新代码到重新构建Docker镜像再到重新部署服务一整套操作了~
其实Jenkins本身有个插件docker-compose-build-step,可以用来实现调用docker-compose的目的。但是这个插件就是简单的执行docker-compose命令,而且还不支持对远程主机进行操作。所以福哥就放弃它了!
环境
镜像版本 | jenkins/jenkins:2.401.1 |
操作系统 | CentOS 7 x86_64 2009 |
服务器 | TFCentOS7x64 |
IP | 192.168.168.68 |
端口 | 1180、5618 |
使用
启动相关服务
首先把tfgitlab和tfjenkins启动起来!
docker start tfgitlab tfjenkins
Docker开启TCP模式
这个福哥在前面使用Jenkins构建Docker镜像的教程里面已经教给大家了,这里就不再赘述了~
复制docker-compose到Jenkins目录
我们把宿主机上的docker-compose脚本复制到tfjenkins的映射目录里。
cd /tongfu.net/data/docker/data/tfjenkins/ mkdir sbin cp /usr/sbin/docker-compose sbin/
配置任务tftest
现在我们来修改tftest任务,在用它来实现重新构建Docker镜像的之后,再去重新部署docker-compose服务。
点击任务tftest的“Configure”进入配置界面,点击“Build steps”进入构建步骤环节,添加一个“Execute shell”操作。
export JENKINS_SBIN_ROOT=/var/jenkins_home/sbin export DOCKERCOMPOSE_ROOT=/var/jenkins_home/dockerfile $JENKINS_SBIN_ROOT/docker-compose \ -H "tcp://192.168.168.68:5168" \ -f $DOCKERCOMPOSE_ROOT/docker-compose.yml \ up -d tfphp
记得推送更新到Git服务器。
git add config/config.php git commit -m "更新主机名适配docker-compose环境" git push
tfphp: image: registry.tongfu.net:5000/tftest:1.0.0 container_name: tfphp
总结
今天我们学习了使用Jenkins调用docker-compose脚本完成重新部署服务的方法,今后大家就可以使用Jenkins进行docker-compose环境里的服务的重新部署了。
说实在的,docker-compose解决方案一般应用于单服务器情况,单服务器还是直接敲命令更加简单~
后面福哥会教给大家如何使用Jenkins工具实现重新部署在Rancher服务器集群里的服务,敬请期待~