小编rhe*_*nik的帖子

使用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万
查看次数

对一组列的NOT NULL约束

我在Postgres有一个表,它目前NOT NULL对它的email列有一个约束.该表还有一个phone可选的列.我想系统接受一些没有记录email,但只有当这些都phoneNOT NULL.换句话说,我需要一个NOT NULL数据库约束,使得CREATE或者UPDATE如果一方或双方的查询没有任何错误成功emailphone字段存在.

进一步扩展上述内容,是否可以在Postgres中指定一组列名,其中一个或多个应该是NOT NULL为了成功更新或创建记录?

sql database postgresql constraints postgresql-9.2

5
推荐指数
2
解决办法
1408
查看次数