При использовании Travis, почему я не могу найти учетные данные в after_deploy - PullRequest
1 голос
/ 07 июня 2019

Так что это мой .travis.yml:

language: python
python:
  - "3.5"
cache: pip
install:
  - pip install awscli

script:
  - echo 'test'

deploy:
  provider: s3
  access_key_id: $AWS_ACCESS_ID
  secret_access_key: $AWS_SECRET_ID
  bucket: "xxxxx.com"
  local_dir: build
  skip_cleanup: true
  cache_control: "max-age=21600"
  on:
    branch: master

after_deploy:
  - aws configure set preview.cloudfront true
  - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"

Это просто HTML-страница без узла или другой структуры.Я хочу перейти к корзине AWS S3 и создать аннулирование для фронта облака этого сегмента.

Проблема заключается в том, что он может успешно загрузить в корзину AWS S3 и не может запустить облачный фронт для создания аннулирования.

Я получил это сообщение об ошибке от Трэвиса.

> Deploying application
> uploading "index.html" with {:content_type=>"text/html", :cache_control=>"max-age=21600"}

>$ aws configure set preview.cloudfront true
>$ aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"

Unable to locate credentials. You can configure credentials by running "aws configure".
Done.

Есть мысли по этому поводу?

1 Ответ

1 голос
/ 07 июня 2019

Я полагаю, это потому, что при загрузке S3 вы предоставляете ключи доступа, но они специфичны для этой операции.Вам необходимо настроить свои учетные данные, чтобы они могли использоваться командами CLI AWS в вашем after_deploy.Попробуйте это в вашем after_deploy:

after_deploy:
  - aws configure set aws_access_key_id $AWS_ACCESS_ID
  - aws configure set aws_secret_access_key $AWS_SECRET_ID
  - aws configure set preview.cloudfront true
  - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION_ID --paths "/*"
...