【发布时间】:2019-08-10 05:46:59
【问题描述】:
我正在使用 PM2 部署脚本将代码部署到我的 FreeBSD 服务器。
第 1 步:pm2 部署生产设置。
成功执行 setup 命令。预设置脚本也可以工作。
第 2 步:pm2 部署生产环境。
它给出了部署后挂钩失败的错误。但是,预部署本地命令正在运行。
--> 部署到生产环境
--> 在主机 ****
○ 部署 origin/master
○ 执行 pre-deploy-local
这是本地执行的命令
○ 钩子预部署
○ 快进大师
您的分支是最新的'origin/master'。
已经在“大师”上
来自 git.***/*
* 分支主 -> FETCH_HEAD
已经是最新的了。
○ 执行部署后npm install && pm2 start
不明确的输出重定向。
部署后挂钩失败
部署失败
此外,如果我从本地计算机运行 pm2 deploy production exec "npm install && pm2 start",那么它工作正常。
PM2 生态系统.config.js
apps: [{
name: 'Myapp',
script: 'app.js',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy: {
production: {
user: 'user',
host: 'myhost',
ref: 'origin/master',
repo: 'git@***/**',
path: 'Some/Path',
'ssh_options': ["ForwardAgent=yes","StrictHostKeyChecking=no"],
"pre-setup" : "pkg install git && npm install -g pm2@latest",
"pre-deploy-local" : "echo 'This is a local executed command'",
"post-deploy" : "npm install && pm2 start",
}
}
【问题讨论】:
标签: node.js deployment freebsd pm2