在 PyCharm 中的何处配置我的 AWS“代码提交”凭证? [Elastic Beanstalk 代码管道]

Posted

技术标签:

【中文标题】在 PyCharm 中的何处配置我的 AWS“代码提交”凭证? [Elastic Beanstalk 代码管道]【英文标题】:Where do I configure my AWS "Code Commit" credentials in PyCharm? [Elastic Beanstalk code pipeline] 【发布时间】:2020-10-17 07:08:42 【问题描述】:

我正在通过 PyCharm 的 Code Commit 将带有 Amazon RDS PostgreSQL db 的 Python/Django 应用程序部署/推送 (GitHub) 到 AWS Elastic Beanstalk。

我上传了我的服务器证书(有 SSL 问题,大多数人可以忽略 --no-verify-ssl):

aws iam upload-server-certificate --server-certificate-name CSC --certificate-body file://public.pem --private-key file://private.pem --no-verify-ssl

等。工作正常。

eb init 设置代码提交,SSH:

Do you wish to continue with CodeCommit? (y/N) (default is n): y

Enter Repository Name
(default is "origin"): 
Successfully created repository: origin

Enter Branch Name
***** Must have at least one commit to create a new branch with CodeCommit *****
(default is "master"): 
Username for 'https://github.com/mygitusername/myapp.git': user@email.com
Password for 'https://user@email.com@github.com/mygitusername/myapp.git': 
Successfully created branch: master
Do you want to set up SSH for your instances?
(Y/n): y

Select a keypair.
1) mykeypairname
...

工作正常。

eb create设置环境等

Enter Environment Name
(default is eb-myapp-dev): 
Enter DNS CNAME prefix
(default is eb-myapp-dev): 
Select a load balancer type
1) classic
2) application
3) network
(default is 2): 


Would you like to enable Spot Fleet requests for this environment?
(y/N): n
Starting environment deployment via CodeCommit
...

工作正常。

然后我去 PyCharm 提交更改,然后推入 Git,我被要求提供我的代码提交“凭据”。我想,我的 AWS 访问密钥 ID 和密钥?我通过aws configure 使用/确认这些是准确的。也许可以,但有一个“密码助手”选项,所以我点击它。现在我无法返回该屏幕输入我的凭据,或者至少尝试一下。我不断得到:

Push failed
Unable to access 'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/origin/': The requested URL returned error: 403

如何在 PyCharm 中配置我的 AWS“代码提交”凭证?

【问题讨论】:

【参考方案1】:

原始海报,在这里。以下是我解决问题的方法。

    运行这些命令将 AWS 凭据帮助程序添加到 ~/.gitconfig:
git config --global credential.helper '!aws codecommit credential-helper $@' credential.UseHttpPath true
git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@' 
    运行 git config --global --edit 以验证您的输入。 打开钥匙串。在用户名中添加“+”git-codecommit.us-east-2.amazonaws.com 和您的访问密钥 ID,在密码中添加密钥。保存并关闭。 删除您刚刚在 git-codecommit.us-east-2.amazonaws.com 的 Keychain 中创建的规则。 Git 设置为在 macOS 上使用 Keychain Access 实用程序,这可能会导致 Amazon Code Commit 服务出现问题。通过运行以下命令进行更改:
git config --system --unset credential.helper

您应该得到类似的结果:“不存在价值”或“已删除”。

    最后,我遵循了这些 AWSCodeCommitPowerUser 说明:https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html#setting-up-gc-account。

我不确定其中哪一个真正解决了我的问题,但毕竟,我打开了 PyCharm 并执行了提交/推送。现在可以了。

【讨论】:

以上是关于在 PyCharm 中的何处配置我的 AWS“代码提交”凭证? [Elastic Beanstalk 代码管道]的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm/ IntelliJ IDEA 运行配置使用 MFA 承担 AWS 角色

如何处理 AWS 中的大型 WAR 文件?

如何处理 AWS Redshift 卸载命令中的引用值?

如何处理 AWS 中的开发和生产环境? [关闭]

使用 PyCharm 通过 JDBC 连接到 AWS Athena - fetchSize 问题

如何处理我的 AWS EC2 实例上的多个 Python 请求?