【问题标题】:How to configure / use AWS CLI in GitHub Actions?如何在 GitHub Actions 中配置/使用 AWS CLI?
【发布时间】:2020-11-30 19:56:17
【问题描述】:
我想在 GitHub Actions 中运行 aws amplify start-job 之类的命令。我了解 AWS CLI 已预先安装,但我不确定如何配置它。
特别是,我不确定所有配置选项的环境变量是如何命名的,因为 some docs 只提到了 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY,但没有提到区域和输出设置。
【问题讨论】:
标签:
amazon-web-services
aws-cli
aws-amplify
github-actions
【解决方案2】:
我可以提供以下秘密和环境变量,然后使用命令:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: us-east-1
AWS_DEFAULT_OUTPUT: json
例如
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: eu-west-1
AWS_DEFAULT_OUTPUT: json
run: aws amplify start-job --app-id xxx --branch-name master --job-type RELEASE
【解决方案3】:
根据我的经验,来自 action runner 的开箱即用 AWS CLI 工具运行良好。
但有时您会更喜欢使用凭证文件(例如 terraform AWS 提供商),这是example。
这将对编码文件进行 base64 解码并用于以下步骤。
- name: Write into file
id: write_file
uses: timheuer/base64-to-file@v1.0.3
with:
fileName: 'myTemporaryFile.txt'
encodedString: ${{ secrets.AWS_CREDENTIALS_FILE_BASE64 }}