基于Docker、Jenkins和Saltstack的持续部署方案
来源:互联网 发布:遗传算法图像分割 编辑:程序博客网 时间:2024/05/18 01:11
一、基础环境
1、Centos7.2
# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)
2、Docker版本 《docker仓库安装》
# docker versionClient: 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/amd64Server: 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发送指令到生产环境,进行分发部署。
三、Jenkins设置
General
配置参数
源码管理
构建触发器
构建环境
构建脚本可以参考<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>
Salt-api设置 需要安装<SaltStack plugin>插件
阅读全文
0 0
- 基于Docker、Jenkins和Saltstack的持续部署方案
- 基于jenkins构建应用的docker镜像做持续集成和部署
- 基于 jenkins 和 docker 的持续集成平台
- 基于 jenkins 和 docker 的持续集成平台
- 基于K8s和docker的Jenkins 可伸缩持续集成系统
- 基于Docker的Consul集群部署方案
- 使用GitLab、Jenkins、Docker建立快速持续化集成交付部署方案
- docker+jenkins+git持续部署实践
- docker+jenkins+git持续部署实践
- 基于Jenkins和docker的CI过程
- Docker + Bamboo + Saltstack 持续集成
- 基于Jenkins的持续集成
- 通过Docker和Rancher部署可扩展的Jenkins 集群
- Jenkins基于Docker的安装
- Docker结合Jenkins的持续构建实践
- 基于 Mesos、Marathon、Docker环境的 Jenkins 持续集成及配置管理
- jenkins和docker实现自动化构建部署
- 在搭建基于jenkins+maven+git+docker的全自动化部署时遇到的问题
- 湖南省第六届大学生计算机程序设计竞赛 战场的数目
- 算法<Next Permutation问题>
- 1056. Mice and Rice (25)
- golang 空指针
- 性能分析、调优的概念及手段
- 基于Docker、Jenkins和Saltstack的持续部署方案
- 2.4 linux存储管理-越界访问
- hive简介
- bzoj2565manacher算法
- Flutter学习之旅(三)----Flutter常见问题FAQ,看完之后不再是Flutter小白
- CGI --fastCGI
- PHP中==和===的区别在哪?
- Struts2 struts2基本流程与配置
- CC2640R2F开发环境搭建