gpt4 book ai didi

node.js - 如何使用 Jenkins 在多个服务器上同时部署 Node.js Web 应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:52 27 4
gpt4 key购买 nike

我要在两台远程服务器上部署 Node.js 移动 Web 应用程序。(Linux 操作系统)我正在使用 SVN 服务器来管理我的项目源代码。

为了简单明了地管理应用程序,我决定使用 Jenkins。我是 Jenkins 的新手,因此安装和配置 Jenkins 是一项相当困难的任务。

但我找不到如何设置 Jenkins 同时构建远程服务器。

你能帮我吗?

最佳答案

您应该查看supervisor 。它与语言和应用程序类型无关,它只负责(重新)启动应用程序。

所以在你的 Jenkins 构建中:

  • 您从 SVN 更新代码
  • 运行单元测试(绝对是个好主意)
  • 您可以在每个主机上启动 svn 更新,或者将当前内容复制到它们(我建议这样做,因为有很多方法可以使 SVN 失败,例如,这允许在某些 .JS 文件中包含 SVN_REVISION)
  • 您在每台主机上执行:fuser -k -n tcp $DAEMON_PORT ,这将终止当前使用端口 $DAEMON_PORT 运行的应用程序(您在 Node.js 应用程序中使用的端口)

最好的显然是它会在系统启动时自动启动你的node.js(前提是正确安装了supervisor(Debian上的apt-get install supervisor))并在出现故障时重新启动它。

node.jssupervisord 的子配置如下所示:

# /etc/supervisor/conf.d/my-node-app.conf
[program:my-node-app]
user = running-user
environment = NODE_ENV=production
directory = /usr/local/share/dir_app
command = node app.js
stderr_logfile = /var/log/supervisor/my-node-app-stderr.log
stdout_logfile = /var/log/supervisor/my-node-app-stdout.log

有很多configuration parameters .

注意:有一个node.js的supervisor,它不是我所说的,我也没有测试过它。

关于node.js - 如何使用 Jenkins 在多个服务器上同时部署 Node.js Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20043913/

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