相关疑难解决方法(0)

使用AWS Elastic Beanstalk和Ruby容器设置私有Github访问

通过最近使用Git设置用于Ruby部署的AWS Elastic Beanstalk的教程,我只是从我的CI服务器设置了一个Elastic Beanstalk环境.但是,应用程序无法启动.我浏览了日志,发现bundle install失败并显示错误消息.

获取git@github.com:example/private-repository.git主机密钥验证失败.致命:远程端意外挂断[31mGit错误:git clone 'git@github.com:example/private-repository.git' "/var/app/ondeck/vendor/cache/ruby/1.9.1/cache/bundler/git/private-repository-e4bbe6c2b13bb62664e39e345c1b01d80017934c" --bare --no-hardlinks目录/ var/app/ondeck中的命令失败.[0m

Gemfile我的Rails应用程序包含对Github上我拥有的几个私有存储库上托管的gemified插件的引用.就像是

gem'partgemname',: git =>'git@github.com:example/private-repository.git'

我遇到过与Capistrano部署类似的问题,这些问题通过设置解决了ssh_options[:forward_agent] = true.

AWS Elastic Beanstalk Ruby容器通过.config放置在其下的自定义文件支持自定义配置.ebextensions.在这种情况下,设置SSH转发代理会有所帮助吗?在启动Elastic Beanstalk环境时,还有其他替代方法可以访问私有Github存储库吗?

更新1:我刚刚检查了bundle install启动了a的用户.发现脚本以用户身份/opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh启动.我尝试在其下创建一个SSH密钥,并将其pub-key添加到该存储库的Github Deploy密钥.到目前为止没有运气.现在尝试在Github上为我的用户帐户添加SSH pub-key,以便它适用于通过我的Github帐户可访问的所有私有存储库.bundle installroot/root/.ssh

ruby ruby-on-rails amazon-web-services amazon-elastic-beanstalk

24
推荐指数
2
解决办法
1万
查看次数

配置 Elastic Beanstalk 以使用 Amazon Linux 2 挂钩通过 SSH 访问私有 git 存储库

假设我们有一个名为 的自定义 Python 包,位于shared_package私有存储库中,托管在 github 或 bitbucket 上。我们的私有存储库配置为通过 SSH 进行只读访问,如此处的 github此处的 bitbucket所示。

我们的另一个项目(恰当地命名为 )dependent_project依赖于此shared_package,并且需要部署到 AWS Elastic Beanstalk (EB)。我们的环境使用最新的“Python on Amazon Linux 2”平台,并用作pipenv包管理器。

shared_package由于各种原因,对我们来说,直接从在线 git 存储库安装是最方便的,如此处针对 pipelinenv此处针对 pip 的描述。我们Pipfiledependent_project看起来像这样:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
shared_package = {git = "ssh://bitbucket.org/our_username/shared_package.git", editable = true, ref = "2021.0"}

[dev-packages]
awsebcli = "*"

[requires]
python_version = "3.8"
Run Code Online (Sandbox Code Playgroud)

这在我们的本地开发系统上运行良好,但在部署 …

git ssh amazon-elastic-beanstalk pipenv amazon-linux-2

2
推荐指数
1
解决办法
1150
查看次数