在以Jenkins为镜像创建Docker容器时,我们在jenkins的dockerfile文件中写明了要安装Docker
Compose,目的也是在Jenkins容器中借助Docker Compose来完成相关的操作。

 

一、容器中安装Docker Compose

  1、同时安装Jenkins和Docker Compose:参照之前写过的文章安装Jenkins的同时也安装Docker Compose:
https://www.cnblogs.com/CKExp/p/9536864.html
<https://www.cnblogs.com/CKExp/p/9536864.html>

    
安装完毕,开始安装jenkins内部的插件,如有安装失败的插件,点击Retry重新安装。如果发现jenkins缺少东西,需要重装,则把/var/jenkins_home文件夹整体删除,重新安装。

  2、只安装Jenkins,再进入容器后安装Docker Compose,进入Jenkins容器中 $ docker exec -it 容器ID
/binbash 然后参照官网文档进行安装:https://docs.docker.com/compose/install/#install-compose
<https://docs.docker.com/compose/install/#install-compose>

 

二、在Jenkins中新建项目

  首先把系统时间修改一下,使用中国时区,在系统管理,脚本命令行中写入如下代码设置jenkins中的系统时间同步北京时间,方便后期做定时删除无效镜像使用。
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone',
'Asia/Shanghai')
  1、点击新建项目按钮,输入一个项目名称。

  

  2、配置项目的Git路径,如为私有项目,则增加凭证(Credentials)。

   

  3、构建触发器,定时两分钟检查一次查看Git中是否有代码变更,

  

  4、设置构建时间(建议将时长分配多一点,如果构建复杂应用,构建过程将会耗时很长)。

  

  5、构建过程脚本,在这里使用docker compose完成相应的功能,

   

  构建脚本具体如下,在此过程中指明了两个.yaml文件的具体位置,以项目的根目录为基准进入docker文件夹找到两个.yaml文件,然后docker
compose将两个文件合并,停止并删除本地已有的容器、镜像、网桥、数据卷,然后重建:
#!/bin/bash # 获取短版本号 GITHASH=`git rev-parse --short HEAD` docker-compose -f
./docker/docker-compose.yml -f ./docker/docker-compose.override.yml -p surround
down --rmi local --remove-orphans docker-compose -f ./docker/docker-compose.yml
-f ./docker/docker-compose.override.yml -p surround up -d --build
   或可以使用如下命令,不在本地生成容器,而只生成镜像即可
#!/bin/bash # 获取短版本号 GITHASH=`git rev-parse --short HEAD` docker-compose -f
./docker/docker-compose.yml -f ./docker/docker-compose.override.yml -p surround
down --rmi local --remove-orphans docker-compose -f ./docker/docker-compose.yml
-f ./docker/docker-compose.override.yml -p multimap build
  6、将镜像推送到镜像仓库中,方便后期的服务部署工作。
echo ---------------Push-Images...------------------ docker login -u=xxx用户名xxx
-p=xxx密码xxx ccr.ccs.tencentyun.com docker-compose -f
./docker/docker-compose.yml -f ./docker/docker-compose.override.yml push
  7、保存,配置结束,点击开始构建。

 

三、新建过程中可能出现的问题

  在Jenkins中发布项目时,从控制台中查看到错误,并指明了docker compose报错,则进入jenkins容器,测试docker-compose
--version ,能够正常显示则安装成功,如果jenkins中的docker
compose附属安装失败,则在jenkins容器内重新安装docker, 通过命令进入容器:docker exec -it 容器ID
/binbash,然后先删除已有的文件夹,跟随官网文档重新安装:
https://docs.docker.com/compose/install/#install-compose
<https://docs.docker.com/compose/install/#install-compose> 并测试docker-compose
--version ,能够正常显示则安装成功,再次测试jenkins发布项目是否能够正常跑通。

  

  本文地址:https://www.cnblogs.com/CKExp/p/9940479.html
<https://www.cnblogs.com/CKExp/p/9940479.html> 

  欢迎关注微信订阅号,有新的文章将同步到订阅号中

   
2018-11-11,望技术有成后能回来看见自己的脚步