• 欢迎访问蜷缩的蜗牛博客 蜷缩的蜗牛
  • 微信搜索: 蜷缩的蜗牛 | 联系站长 kbsonlong@qq.com
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

基于Docker、Jenkins和Saltstack的持续部署方案

Docker 蜷缩的蜗牛 1年前 (2017-07-21) 72次浏览 已收录 0个评论

一、基础环境

1、Centos7.2

# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)

 

2、Docker 版本  《docker 仓库安装

# docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      88a4867/1.12.6
 Built:           Mon Jul  3 16:02:02 2017
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-32.git88a4867.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      88a4867/1.12.6
 Built:           Mon Jul  3 16:02:02 2017
 OS/Arch:         linux/amd64

 

3、Saltstack 版本

salt-api 安装配置

》# salt --version
salt 2015.5.10 (Lithium)

 

4、Jenkins 版本

Jenkins ver. 2.60.1

 

 

二、方案说明

1、开发提交代码到 git 服务器,通过钩子触发 Jenkins 执行构建;

2、Jenkins 将代码打包,并通过 Dockerfile 执行 build 构建镜像;

3、镜像构建成功之后,将镜像 PUSH 到 Docker 仓库;

4、通过测试服务器 pull 新版镜像部署,调用测试服务接口,检测服务是否正常;

5、通过 salt-api 发送指令到生产环境,进行分发部署。

Flow_Chart

 

三、Jenkins 设置

General

image

 

配置参数

image

 

源码管理

image

构建触发器

image

 

构建环境

image

构建脚本可以参考<jenkins_build.sh>

bash /usr/local/jenkins/home/scripts/jenkins_build.sh                 ##构建的脚本
sed -i  '/SERVER_PORT/d' /usr/local/jenkins/home/scripts/config.ini   ## 清除历史参数
sed -i  '/TARGET/d' /usr/local/jenkins/home/scripts/config.ini        ## 清除历史参数
echo TARGET=${TARGET} >>/usr/local/jenkins/home/scripts/config.ini    ##将新的参数写入配置
echo SERVER_PORT=${SERVER_PORT}>>/usr/local/jenkins/home/scripts/config.ini

 

构建

构建与构建环境的区别,构建环境有两个选项:Pre build script(构建脚本执行之前操作的内容) 和 Post build script(构建脚本执行之后操作的内容)

在本例中使用Pre build script,先在构建环境中构建好 Docker 镜像,然后在构建中拉取到测试环境运行服务。

创建并运行服务可以参考<docker-project_init.sh>

image

 

Salt-api 设置  需要安装<SaltStack plugin>插件

image


蜷缩的蜗牛 , 版权所有丨如未注明 , 均为原创丨 转载请注明基于 Docker、Jenkins 和 Saltstack 的持续部署方案
喜欢 (1)
[]
分享 (0)

您必须 登录 才能发表评论!