缺少必需的参数:aws_access_key_id、aws_secret_access_key - Travis

Missing required arguments: aws_access_key_id, aws_secret_access_key - Travis

我在 运行 travis ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key 时收到此错误。它停止了我的构建。我正在使用 carrierwave 进行文件上传并将它们存储在 S3 上。这很奇怪,因为它实际上将它们存储在我的 S3 存储桶中,所以我知道我的 aws 密钥是正确的。 P.S。我在用费加罗。

这是我的代码。

头像上传者:

 class AvatarUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :fog

  def extension_whitelist
    %w(jpg jpeg gif png)
  end

  process :resize_to_limit => [50, 50]

  def default_url(*args)
    ActionController::Base.helpers.asset_path("fallback/" + [version_name, "pete.png"].compact.join('_'))
  end
end

Storage.rb

 CarrierWave.configure do |config|
  config.fog_credentials = {
      provider:              'AWS',
      aws_access_key_id:     ENV["aws_access_id"],
      aws_secret_access_key: ENV["aws_access_secret_key"],
      region: 'us-west-2'
  }
  config.storage = :fog
  config.fog_directory  = "lockdown-bucket"
  config.fog_public     = false
end

这里的主要问题是我的 travis 构建在 运行s rake 时停止,我在标题中收到错误。有人知道我做错了什么吗?

首先,您需要安装gem:gem install travis

之后:

travis encrypt aws_access_id=Your_aws_s3_key --add

travis encrypt aws_access_secret_key=Your_aws_s3_secret --add

它将自动添加到您的 .travis.yml file

它将是这样的: language: ruby rvm: - 2.4.0 env: global: - secure: dwnrYRL4pm0JIU4Qq4mp... - secure: e+rtcUZ8mWVMRq6NP540qtu/ZwYpQ5JT... matrix: - DB: postgresql script: - RAILS_ENV=test bundle exec rake db:migrate --trace - bundle exec rake db:test:prepare - bundle exec rspec spec before_script: - psql -c 'create database DB_NAME_test' -U postgres - cp config/database.travis.yml config/database.yml

DB_NAME - 你的数据库名称

Your_aws_s3_key && Your_aws_s3_secret 必须没有条件。