Rails-无法让Travis CI掌握我的S3凭证
问题描述:
我试图让AWS S3与使用费加罗的Travis一起工作,我完全陷入困境。Rails-无法让Travis CI掌握我的S3凭证
这一切都在开发模式下正常工作:
picture.rb
class Picture < ApplicationRecord
acts_as_list
belongs_to :imageable, polymorphic: true
has_attached_file :image,
:storage => :s3,
:bucket => Figaro.env.s3_bucket,
:s3_region => 'eu-west-1',
:s3_credentials => {
:access_key_id => Figaro.env.aws_access_key_id,
:secret_access_key => Figaro.env.aws_secret_access_key
}
do_not_validate_attachment_file_type :image
end
application.yml
aws_access_key_id: 'xxx'
aws_secret_access_key: 'xxx'
aws_region: 'eu-west-1'
development:
s3_bucket: 'company-name-dev'
production:
s3_bucket: 'company-name-prod'
显然特拉维斯需要访问这些键:
.travis .yml
language: ruby
before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
rvm:
- 2.4.0
bundler_args: "--jobs=2"
script:
- bundle exec rake db:setup
- bundle exec rake spec
cache: bundler
services:
- postgresql
addons:
postgresql: '9.4'
deploy:
provider: heroku
api_key:
secure: verlongherokukey
app: imkerij
on:
repo: MyGitHub/MyRepoName
skip_cleanup: true
env:
matrix:
- s3_bucket='company-name-dev'
global:
- secure: verylongkey
- secure: anotherverylongkey
我不断获取AWS缺少凭据错误或费加罗MissingKeys特拉维斯错误。
Figaro::MissingKeys: Missing required configuration keys: ["aws_access_key_id", "aws_secret_access_key"]
其中仅加入后BTW发生了:
Figaro.require_keys("aws_access_key_id", "aws_secret_access_key")
,我得到了AWS凭证丢失或东西,所有的时间之前。
似乎钥匙没有通过。 当使用ENV表单写下它们时也不是。然后,即使在开发中,东西也不起作用。
任何帮助肯定是赞赏。让我坚持了几天。另一个解决方案,只是使用秘密,我将不胜感激。
答
我解决了这个问题,进入我的Travis CI项目设置,在那里我可以添加密钥。马上工作。
在我的.yml中以每种方式使用travis encrypt
函数都没有。