繁体   English   中英

如何在 GitHub 操作中配置/使用 AWS CLI?

[英]How to configure / use AWS CLI in GitHub Actions?

我想在 GitHub Actions 中运行诸如aws amplify start-job之类的命令。 我了解 AWS CLI 已预先安装,但我不确定如何配置它。

特别是,我不确定环境变量是如何为所有配置选项命名的,因为一些文档只提到AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY但没有提到区域和 output 设置。

我建议使用此 AWS 操作在 GitHub 操作环境中设置所有 AWS 区域和凭证环境变量。 它没有设置 output 环境变量,所以您仍然需要这样做,但它具有很好的功能,可以确保在 output 中将凭证环境变量屏蔽为机密,支持担任角色,并在需要时提供您的帐户 ID它在其他行动中。

https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions

我可以提供以下秘密和环境变量,然后使用命令:

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

以我的经验,来自 action runner 的开箱即用 AWS CLI 工具运行良好。

但有时您会更喜欢使用凭证文件(如 terraform AWS 提供商),这就是它的示例

这将 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 }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM