【发布时间】:2023-11-05 20:44:01
【问题描述】:
我尝试关注this tutorial ..
我使用heroku keys:add在heroku中创建并添加了密钥
ssh -vT git@heroku.com
debug1: Next authentication method: publickey
debug1: Offering RSA public key: C:/Users/rider/.ssh/heroku
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to heroku.com ([50.19.85.156]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
shell request failed on channel 0
问题
当我执行命令pm2 deploy ecosystem.json production setup结果..
λ pm2 deploy ecosystem.json production setup
--> Deploying to production environment
--> on host serve-provaninja.herokuapp.com
ssh: connect to host <myhost>.herokuapp.com port 22: Connection timed out
setup paths failed
Deploy failed
我的项目文件
过程文件
web: node main.js && pm2 logs all
ecosystem.json
{
"apps" : [{
"name" : "Project name",
"script" : "index.js"
}],
"deploy" : {
"production" : {
"user" : "git",
"host" : "<myhost>.herokuapp.com",
"ref" : "origin/master",
"repo" : "git@github.com:<myproject>.git",
"path" : "/var/www/production",
"post-deploy" : "npm install --production && pm2 startOrRestart ecosystem.json —env production"
}
}
}
main.js
var pm2 = require('pm2');
var os = require("os");
var MACHINE_NAME = os.hostname();
var PRIVATE_KEY = process.env.KEYMETRICS_PRIVATE_KEY;
var PUBLIC_KEY = process.env.KEYMETRICS_PUBLIC_KEY;
var ecosystem = require('./ecosystem.json');
var maxMemory = process.env.WEB_MEMORY || 512;
pm2.connect(function() {
ecosystem.apps.forEach(function(app) {
pm2.start({
script : app.script,
name : app.name,
max_memory_restart : maxMemory + 'M',
post_update: ["npm install"]
}, errback);
});
});
function errback(err,proc) {
pm2.interact(PRIVATE_KEY, PUBLIC_KEY, MACHINE_NAME, function() {
pm2.launchBus(function(err, bus) {
console.log('[PM2] Log streaming started');
bus.on('log:out', function(packet) {
console.log('[App:%s] %s', packet.process.name, packet.data);
});
bus.on('log:err', function(packet) {
console.error('[App:%s][Err] %s', packet.process.name, packet.data);
});
});
});
}
【问题讨论】: