首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建\部署-复杂的场景和应用程序

构建\部署-复杂的场景和应用程序
EN

Stack Overflow用户
提问于 2013-11-07 08:29:40
回答 1查看 170关注 0票数 0

管理人员授予我们的团队为生产服务器创建自动构建\部署脚本的任务。

脚本要求是:

  1. 从git中获取web应用程序的最新版本src代码。
  2. 汇编->战争
  3. 连接到远程服务器(生产\测试)
  4. 远程关机tomcat服务器
  5. 在远程DB服务器上执行模式更新(用于新版本)
  6. 向tomcat部署新的战争并启动它。

我的问题是:

  1. 构建\部署区域的所有三个主要参与者都可以做到这一点(ant \ maven \ gradle)吗?
  2. 构建一个小应用程序(java应用程序),这样的步骤是否是一个好的实践呢?(编写java应用程序可能比在maven \ ant \gradle中学习更快)
  3. 对于这类工作有什么替代的工具吗?
  4. 对于整个“造机”的想法,还有什么更好的选择吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 00:11:44

构建/部署区域的所有三个主要参与者都能做到这一点(ant/maven/gradle)吗?

有了足够的目标/目标定制,这些目标中的任何一个都可以做您想做的事情。

构建一个小应用程序(java应用程序),这样的步骤是否是一个好的实践呢?

当然可以(或者只使用shell脚本),这与定制前面列出的构建工具本质上是一样的。

对于这类工作有什么替代的工具吗?

我的公司专门创建了BuildMaster来解决这些问题以及与部署相关的其他问题,而免费版本听起来可能适合您的场景。

基本的解决办法是:

  1. 通过添加Git源代码管理提供程序(或者如果使用GitHub,则添加GitHub提供程序)连接到Git
  2. 将代理连接到目标服务器并将其添加到BuildMaster (需要安装Windows,但如果部署到Linux,则只使用SSH连接)
  3. 在部署计划中,可以使用以下操作:
    1. “构建Ant项目”或“执行Maven”以执行实际的构建过程
    2. “创建构建工件”将构建输出(无论是WAR文件还是其内容)与BuildMaster构建关联起来
    3. “停止服务”阻止Tomcat
    4. “执行数据库脚本”用于在磁盘上执行脚本(无论您是从源中提取脚本还是其他什么)或“执行数据库更改脚本”,如果您将它们上传到BuildMaster,它们将自动工作。
    5. “部署构建工件”将以前捕获的工件部署到远程服务器
    6. “开始服务”Tomcat

这种方法的优点是,当您创建这个部署计划时,它读起来非常类似于上面步骤中所写的内容。

与您的确切场景相关的其他好处可能是可以添加的,也可能是不相关的,包括:

  • 审批& Signoff -工作流可以指定这些,以确保QA独立在升级之前发生
  • 发布管理和审核--知道构建是在什么环境中以及在什么时候进行的
  • 变量部署--您可以在部署计划中添加分支逻辑,以便于选择“调试”或“发布”构建是否进行测试。
  • Notifications -用户可以订阅某些事件(部署、发布等)并在这些事件发生时接收电子邮件通知。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19831084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档