gpt4 book ai didi

maven - 构建\部署-复杂的场景和应用

转载 作者:行者123 更新时间:2023-12-03 06:23:33 25 4
gpt4 key购买 nike

经理们授权我们的团队完成为生产服务器创建自动构建\部署脚本的任务。

脚本要求是:

  • 从git获取Web应用程序的最新版本src代码。
  • 编译-> WAR
  • 连接到远程服务器(生产\测试)
  • 关闭远程
  • 上的tomcat服务器
  • 在远程数据库服务器上执行模式更新(对于新版本)
  • 向tomcat部署新的 war 并启动它。

  • 我的问题是:
  • 在build \ deploy区域中的所有3个主要参与者都可以做到吗(ant \ maven \ gradle)?
  • 正在构建一个小型应用程序(java应用程序),执行此确切步骤是一种很好的做法吗? (可能编写一个Java应用程序比在maven \ ant \ gradle中学习该应用程序要快得多)
  • 是否有其他替代工具可用于此类工作?
  • 对于整个“构建机器”构想,还有其他更好的选择吗?

  • 谢谢!

    最佳答案

    Do all 3 major players in the build/deploy area can do that (ant/maven/gradle)?



    通过对目标/目标进行足够的自定义,这些目标/目标中的任何一个都可以做您想要的。

    Is building a small application (java application) that does this exact steps is good practice?



    您当然可以(或仅使用Shell脚本),这与自定义先前列出的构建工具基本相同。

    Are there any alternative tools for this kind of work?



    我公司专门创建了 BuildMaster来解决与部署有关的这些和其他问题,听起来免费版本可能适合您的情况。

    基本解决方案是:
  • 通过添加Git源代码控制提供程序(或者,如果您使用GitHub,则是GitHub提供程序)来连接到Git。
  • 将代理连接到目标服务器,并将其添加到BuildMaster(需要安装Windows,但如果部署到Linux,则仅使用SSH连接)
  • 在部署计划中,您将使用以下操作:
  • “Build Ant Project”或“Execute Maven”执行实际的构建过程
  • “创建构建 Artifact ”以将构建输出(无论是WAR文件还是其内容)与BuildMaster构建
  • 相关联
  • “停止服务”停止Tomcat
  • “执行数据库脚本”以执行磁盘上的脚本(无论是否从源中拉出脚本)或“执行数据库更改脚本”,如果将它们上传到BuildMaster上,它们将自动运行
  • “Deploy Build Artifact”将先前捕获的 Artifact 部署到远程服务器
  • “启动服务” Tomcat

  • 这种方法的优点是,当您创建此部署计划时,它的读取内容与上述步骤中编写的内容非常相似。

    可以或不可以添加的与实际情况无关的其他好处包括:
  • 批准和签署-工作流可以指定这些以确保QA签署在升级
  • 之前发生
  • 版本管理和审核-知道在什么环境中构建什么以及何时在哪里构建
  • 可变部署-例如,您可以向部署计划中添加分支逻辑,以使选择“Debug”或“Release”构建易于进行测试变得容易。
  • 通知-用户可以订阅某些事件(部署,发布等),并在这些事件发生时接收电子邮件通知
  • 关于maven - 构建\部署-复杂的场景和应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19831084/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com