构建/部署区域中的所有3个主要参与者都可以这样做(ant / maven / gradle)吗?
通过对目标/目标进行足够的自定义,其中任何一个都可以做到你想要的。
构建一个小应用程序(java应用程序),这样做的确切步骤是好的做法吗?
你当然可以(或者只是使用shell脚本),这与自定义之前列出的构建工具基本相同。
这种工作有替代工具吗?
我的公司专门创建BuildMaster来解决与部署相关的这些和其他问题,听起来免费版本可能适合您的场景。
基本解决方案是:
- 通过添加Git源代码控制提供程序连接到Git(或者如果您使用的是GitHub,GitHub提供程序)
- 将代理连接到目标服务器并将其添加到BuildMaster(需要安装Windows,但如果部署到Linux则只使用SSH连接)
- 在部署计划中,您将使用以下操作:
- “构建Ant项目”或“执行Maven”以执行实际构建过程
- “创建构建工件”以将构建输出(无论是WAR文件还是其内容)与BuildMaster构建相关联
- “停止服务”以停止Tomcat
- “执行数据库脚本”在磁盘上执行脚本(无论是从源代码还是其他内容中删除它们)或“执行数据库更改脚本”,如果您已将其上载到BuildMaster,它们会自动生效
- “部署构建工件”以将先前捕获的工件部署到远程服务器
- “启动服务”Tomcat
醇>
这种方法的优点在于,当您创建此部署计划时,其读取内容与上述步骤中的内容非常相似。
可能与您可以轻易添加的确切方案相关的其他好处包括:
- 认证&签收 - 工作流程可以指定这些以确保在促销之前进行QA签收
- 发布管理和审核 - 了解构建在什么环境中以及何时进入
- 变量部署 - 您可以将分支逻辑添加到部署计划中,以便轻松选择“调试”或“发布”版本是否可以进行测试,例如。
- 通知 - 用户可以订阅某些事件(部署,发布等)并在发生这些事件时接收电子邮件通知