gpt4 book ai didi

deployment - 我应该如何创建自动部署脚本?

转载 作者:行者123 更新时间:2023-12-03 12:45:32 26 4
gpt4 key购买 nike

我需要创建一些方法来获取部署在 Linux 服务器上的本地 WAR 文件。到目前为止,我一直在做的是以下过程:

  • 使用 WinSCP 上传 WAR。
  • 使用 PuTTY SSH 进入服务器。
  • 移动/重命名/删除某些文件夹以准备 WAR 爆炸。
  • 爆发 war 。
  • 发送电子邮件通知用户重启。
  • 停止 Tomcat 服务器。
  • 使用tail以确保服务器正确停止。
  • 更改符号链接(symbolic link)以指向分解的 WAR。
  • 启动 Tomcat。
  • 使用tail以确保服务器正确启动。
  • 发送电子邮件通知用户完成重启。

  • 这些东西都比较简单。我敢肯定,有一百万种不同的方法可以做到这一点。我想听听一些选择。我的第一个想法是一个 Bash 脚本。一般来说,我对脚本编写的经验很少,但认为这是一个很好的学习方式。我也有兴趣使用 Ruby/Python 或类似的最新工具来做这件事,因为我对这些语言几乎没有经验。我认为作为一名年轻的开发人员,我绝对应该掌握某种脚本语言。我也可能对某种可以为我做这些事情的软件解决方案感兴趣,尽管我认为为了方便和可定制性而编写脚本会是一种更好的方式(我可能只是编造了这个词)。

    对于那些做到这一点的人的一些实际问题。你会推荐什么语言来自动化我上面列出的过程?这对我来说是一个学习 Bash/Ruby/Python/其他东西的好机会,还是我应该每周花 10 分钟手工完成 2-3 次?我认为这个问题的答案显然是否定的。我可以从我的计算机自动执行这些操作,还是需要设置脚本以在 Linux 服务器中运行?电子邮件是我可以自动化的,还是我自己做这部分更好?

    当我这样做时,几乎肯定会出现更多问题,所以提前感谢大家。

    更新

    我应该提一下,我正在使用 Maven 来构建 WAR。因此,如果我可以使用 Maven 完成所有这些工作,请告诉我。

    最佳答案

    这可能对您的需求来说太重了,但是您是否查看过构建自动化工具,例如 CruiseControlHudson ?您可能还想查看 Integrity ,它更轻量级并且是用 Ruby 编写的(而不是像我提到的其他两个那样的 Java)。这些工具可以完成您在问题中所说的一切,而且方式更多。

    编辑

    由于您希望这更像是脚本语言的学习练习,而不是实用的解决方案,因此这里有一个适合您的想法。无需每次手动将 WAR 上传到服务器,而是设置 Mercurial存储库并创建一个 Hook (参见 herehere ,尤其是 here ),每次从远程计算机(即本地工作站)。您将编写脚本,以便执行上面列表中的所有操作项。这样,您将学习三件新东西:分布式版本控制范例、如何自定义所述工具以及如何编写 Ruby 脚本以与您的操作系统交互(因为您的操作非常繁重的文件系统)。

    关于deployment - 我应该如何创建自动部署脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986085/

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