微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该使用什么工作流将 NodeJS 应用程序部署到固定服务器?

如何解决我应该使用什么工作流将 NodeJS 应用程序部署到固定服务器?

我在一家小公司工作,主要通过将 master 拉到生产服务器并运行多个脚本来完成部署。我们使用 PM2,它具有一些简单的部署功能,但我不确定如何将活动部件安排在一起才能让每个人都满意。

我想要完成的是在我的开发机器上运行一个即发即弃的命令,这将导致一切都在它应该在的地方。我的老板想要完成的是,在任何时候都不必在服务器上执行任何冗长的步骤以最大程度地减少停机时间 - 因此无需构建和安装 NPM。为此,他希望在 Git 中构建和 node_modules,我认为这是众神面前的可憎,所以我试图找出如何避免这些。

目前还不能做的事情:构建和部署 Docker 镜像、CI/CD。我们没有为这些设置基础设施,我更感兴趣的是使用我们已经拥有的工具并摆脱对这些工具的人工干预。 (不幸的是,它们的流行也使得研究更多旧环境的最佳做法变得困难。)

我对 PM2 不是很熟悉,而且我的大部分经验是在部署是别人的工作的环境中,所以我正在寻找的是一个大纲,即由真正知道什么的人提供的内容他们在谈论。

我目前的粗略想法是:

  1. 将项目切换到 Yarn 2 并使用它的零安装功能在 Git 中拥有依赖项但很正常。
  2. 在开发机器上的 Docker 容器中,执行干净的检出、安装和构建。 (这是为了摆脱“在我的机器上工作”的问题,并避免无意中检查 macOS 二进制文件。)
  3. 将其推送到发布分支 - 只有这些分支允许构建输出等。
  4. 然后使用 PM2 拉取此特定分支并在目标机器上重新加载。

这看起来可行吗?我错过了什么吗?是否有可能以某种方式避免发布分支?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。