同步操作将从 芝麻谷/auto_build_shell 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
在开发中我们需要频繁的调整代码并发布到各种环境去测试。通常会花费比部署代码要多的多的时间去进入和退出各个目录、执行启动脚本、查看启动日志。尤其是分布式系统,各个模块可能在不同的服务器上,光是部署就要来回的切换,如果注意力不能高度集中很容易忘了刚才干了什么,你最初的目的可能只是想看看代码执行的效果。假如有一款工具,可以从零开始,帮助我们完成创建文件夹、代码检出、编译打包、发布到服务器、回滚、备份、查看启动日志的整个流程,我们就可以把更多的精力放到代码本身上,只关注开发和测试,很大程度上可以提高开发效率。借鉴Jenkins的思想,但atb又不完全是一个持续集成工具,持续集成只是它的一个属性,它的目标在于节省开发人员的时间,节省到极致,只要是重复的事情决不做第二遍,把那些开发中重复的、繁杂琐碎的步骤整合起来,让开发变得更轻松愉快。它已具有和将具有以下功能:
你可以用它来发布代码到你自己的阿里云。在项目组内推广后备受好评,谁用谁知道。
注意:本脚本默认认为发布程序到Tomcat的webapps下,若使用其他服务器请自行修改脚本中容器启动部分的代码
检出代码
git clone https://git.oschina.net/houjinxin/auto_build_shell.git
linux、mac系统设置环境变量 (windows系统自行百度)
export ATB_HOME=${your path}
export PATH=$PATH:$ATB_HOME/bin
source ${your profile}
修改conf.ini文件中的配置项,参考:配置说明
初始化
atb.sh -i
发布
atb.sh -l # 本地
atb.sh -r <server_flag> #远程
具体用法见下面帮助
usage: atb [Options]
Options:
-v 版本号与项目信息
-i 根据配置文件进行初始化
-c clean 工程
-du [ -l ] 直接上传已存在war包到本地服务器
-du -r <server_flag> 直接上传已存在war包到指定的远程服务器
-h 帮助
-l 自动编译打包本地部署
-lstop 关闭本地服务器
-r <server_flag> 自动编译打包远程部署到指定的远程服务器
-r <server_flag> -his 查看指定的远程服务器上备份详情"
-r <server_flag> -rb <backup_version> 回滚当前版本到backup_version指定的版本"
Options说明
v -- version 版本信息
i -- init 初始化项目
c -- clean 来自mvn clean
du -- direct upload 已有war包,直接上传;没有war包,重新打包上传
h -- help 帮助
l -- local 本地
r -- remote 远程
his -- history 备份历史
server_flag -- 服务器标识 用于标识上传到哪一台远程服务器
rb -- rollback 回滚命令
backup_version -- 备份版本号 与rb配合使用 用于指定回滚到的版本
`atb.sh -i` 初始化环境
`atb.sh -r -du` war包已存在的情况下直接发布war包到远程服务器,不存在重新打包再发布
`atb.sh` 本地发布 等同于 `atb.sh -l`
`atb.sh -r 244` 如果你的remote_server_flags中包含244 那么就会发布到244所代表的机器上
`atb.sh -r 244 -his` 查看244上备份历史
`atb.sh -r 244 -rb maiev_20170415211120` 244机器上回滚当前版本到2017-04-15 21:11:20的版本
本地发版
和远程发版
路径restart.sh
脚本到不同服务器conf.ini
到家目录,而是直接从conf/conf.ini
读取配置信息如果你们有任何好的想法和需求都可以告诉我,我来完善。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。