AWS opsworks createApp api无法使用提供的密码和用户名与bitbucket

时间:2014-04-17 15:30:09

标签: node.js amazon-web-services aws-opsworks

我正在尝试使用aws node.js sdk来在OPSWorks中创建应用程序。

我的存储库位于bitbucket,它是私有的。

我想使用AWS api和我的帐户密码而不是SSH。

这是代码:

  var appParams = {
        Name: 'Demo app',
        StackId: userData.Stacks.stackId,
        Type: 'nodejs',
        AppSource: {
            Password: '*******',
            Type: 'git',
            Url: 'https://myUserName@bitbucket.org/myUserName/demofresh.git',
            Username: 'myUserName'
        }
    }
    opsworks.createApp(appParams, function(err, data) {
        if (err)
            callback(err);
        else{
            console.log(data);
            callback(data);
        }
    });

由于某种原因,我在使用此应用程序运行实例时始终收到此错误。

错误:

---- Begin output of git ls-remote https://myUserName@bitbucket.org/myUserName/demofresh.git HEAD ----
STDOUT: 
STDERR: fatal: could not read Password for 'https://myUserName@bitbucket.org': No such device or address
---- End output of git ls-remote https://myUserName@bitbucket.org/myUserName/demofresh.git HEAD ----
Ran git ls-remote https://myUserName@bitbucket.org/myUserName/demofresh.git HEAD returned 128

我还尝试将网址更改为:

Url: 'https://myUserName@bitbucket.org/myUserName/demofresh.git',

但是我得到一个错误,它没有用户名字段。

有些人如何阅读我提供的密码。

我已成功使用DescribeApps,以确保密码和用户名保存在亚马逊服务器的应用程序中。

那么AWS API中可能存在问题吗?

1 个答案:

答案 0 :(得分:1)

我刚刚遇到了同样的问题并且相信我在AWS OpsWorks上通过RTFM找到了解决方案: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html

在该文档中,它讨论了设置私有仓库,并指定不同的仓库连接字符串:

  

私有存储库 - 使用这些中显示的SSH读/写格式   示例:

     
      
  • Github存储库:git@github.com:project / repository。
  •   
  • Git服务器上的存储库:user @ server:project / repository
  •   

所以,我进入了bitbucket,复制了我的SSH连接字符串并将其设置为:

git@bitbucket.org:repo_owner/project.git

此外,该文档还指出了git repos的两个附加设置:

  

在“源代码管理”下选择Git会显示另外两个可选项   设置:

     

存储库SSH密钥

     

您必须指定部署SSH密钥才能访问私有   Git存储库。对于Git子模块,指定的密钥必须具有   访问这些子模块。有关更多信息,请参阅使用存储库   SSH密钥。

     

重要

     

部署SSH密钥不需要密码; AWS OpsWorks   无法通过它。分支/修订如果存储库有   多个分支,AWS OpsWorks下载主分支   默认。要指定特定分支,请输入分支名称SHA1   哈希或标签名称。要指定特定提交,请输入完整   40-hexdigit commit id。