Node.js部署在和使用flightplan的Amazon服务器实例中

时间:2016-02-29 15:45:12

标签: node.js deployment ssh amazon-ec2 ubuntu-14.04

我需要在需要.pem密钥文件进行登录的Amazon服务器中使用flightplan.js部署node.js应用程序。 通常我会像这样登录我的ssh终端:

:~$ ssh -i key_file.pem ubuntu@amazon_server_instance_ip

但现在我需要用飞行计划这样做,我不知道该放在我的目标中通常会是这样:

plan.target('testing', {
    host: 'amazon_server_instance_ip',
    username: 'username',
    password: 'password','
    agent: process.env.SSH_AUTH_SOCK,
    repository: 'http://github.com/my_user/my_repo.git',
    branch: 'master',
    maxDeploys: 10
});

2 个答案:

答案 0 :(得分:2)

这里有两种解决方案:

  1. 在运行脚本之前,使用现有配置并通过key_file.pemssh-add添加到ssh代理。

  2. 将您的配置更改为使用privateKey: '/path/to/key_file.pem'而不是agent: ....

答案 1 :(得分:0)

我做到了,就像这样:

plan.target('testing', {
    host: 'amazon_server_instance_ip',
    username: 'username',
    agent: process.env.SSH_AUTH_SOCK,
    repository: 'http://github.com/my_user/my_repo.git',
    branch: 'master',
    privateKey: '/path/to/private/key.pem',
    maxDeploys: 10
});

感谢@mscdex。