使用gitlab+jenkins+saltstack+rsync自动部署Web应用
来源:互联网 发布:联想电脑mac地址查询 编辑:程序博客网 时间:2024/06/05 05:23
本文描述了集群服务器下部署web应用的一种方式及其架构,其讨论的背景基于以下服务架构,如图所示:
本地服务器用于编辑和测试代码,编辑测试完成后将源码传到源码服务器上,再从源码服务器上同步到先上服务器。
GitLab是一个开源的源码管理应用,提供类似Github的代码管理服务,使用代GitLab管理线上代码,可以在服务器更新出错时回滚到旧版本,便于管理和维护。GitLab的安装可参照官方文档,源码安装方式比较复杂且容易出错,建议使用官方提供的rpm安装方式安装。GitLab的使用非常简单,和Git完全一样。使用Git命令创建本地库后,可以使用Github提供的客户端提交修改或check源码等。
jenkins是一个开源持续集成服务器,可用于管理软件的构建、发布和外部调用监控,尤其是Java开发的线上应用。详细可查看
saltstack是一个开源的类似puppet的服务器管理软件,可以同步文件、远程执行脚本等。
rsync是类Unix服务器提供的用于同步文件或数据的工具。
本文使用上述四个开源软件用于管理源码和自动部署Web应用。其架构如图所示:
基本原理是:
1)本地服务器用于编辑和测试源码;
2)测试完成后通过Git将源码push到Git服务器,通过Git的Service或Hook功能,将push事件通知到jenkins;
3)jenkins收到push事件后,执行构建脚本;对于PHP编写的程序,通常是git更新程序,然后将文件拷贝到发布目录;
4)构建完成后,通过saltstack发送通知到线上服务器,线上服务器通过rsync从构建服务器同步构建后的程序或源码;
此方法的好处在于:
1)可通过Git方便管理服务器程序的发布或回滚;
2)实时构建和部署服务。
Git的安装配置请参考官方文档:https://about.gitlab.com/downloads/
saltstack的安装和配置请参考中文文档:http://docs.saltstack.cn/zh_CN/latest/contents.html
jenkins的安装可参考官方安装说明:http://pkg.jenkins-ci.org/redhat-stable/
rsync可参考文档:http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html
- 使用gitlab+jenkins+saltstack+rsync自动部署Web应用
- 使用Jenkins+Rsync+Git+LDAP部署WEB应用
- 使用Jenkins自动编译部署web应用
- jenkins+gitlab+webhook自动部署
- 使用Jenkins自动部署nodejs应用
- Jenkins + gitlab 自动化部署
- jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
- 使用Jenkins自动部署博客
- 关于使用rsync实现自动部署
- Jenkins远程部署 gitLab配置
- jenkins配置应用自动部署到docker
- 使用saltstack部署openstack
- saltstack api部署,使用.
- 4.saltstack使用指南:使用saltstack部署zabbix
- 5.saltstack使用指南:使用saltstack部署nginx
- 使用Docker+Jenkins 搭建CI 自动部署
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
- web应用自动部署脚本
- 简单的正则
- [翻译]Swift编程语言——析构
- 资源查找收集整理
- 解决WinForm应用中引用“mshtml”出现“强名称签名对程序集 Microsoft.mshtml.dll 无效”
- Laravel自定义分页样式
- 使用gitlab+jenkins+saltstack+rsync自动部署Web应用
- [翻译]Swift编程语言——自动引用计数
- Unity3D协程
- Android Binder机制理解
- Java并发编程-14-并发阶段任务的运行-Phaser
- SAT数学满分备考攻略
- 黑马程序员---IOS基础---OC之Foundation框架的基本对象
- 【练习题】压缩字符串
- C++开发者都应该使用的10个C++11特性