Я использую сценарий развертывания PM2 для развертывания кода на моем сервере FreeBSD.
Шаг 1: pm2 развернуть производственную настройку.
Успешно выполнить команду установки.Сценарий предварительной настройки также работает.
Шаг 2. Развертывание pm2.
Выдает ошибку неудачного подключения после развертывания.Однако команда pre-deploy-local работает.
-> Развертывание в производственной среде
-> на хосте ****
○ развертывание origin / master
○ выполнение pre-deploy-local
Thisявляется локальной исполняемой командой
○ предварительное развертывание перехвата
○ мастер перемотки вперед
Ваша ветвь обновлена с указанием 'origin / master'.
Уже на 'master'
Из git. *** / *
* мастер веток -> FETCH_HEAD
Уже в курсе.
○ выполнение после развертывания npm install && pm2 start
Неоднозначное перенаправление вывода.
postошибка -deploy hook
Ошибка развертывания
Более того, если я запускаю pm2 deploy production exec "npm install && pm2 start" с моей локальной машины, тогда он работает нормально.
PM2 ecosystem.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",
}
}