如何在 GitHub 操作中配置/使用 AWS CLI?
How to configure / use AWS CLI in GitHub Actions?
我想在 GitHub 操作中 运行 命令,例如 aws amplify start-job
。我知道 AWS CLI 已预安装,但我不确定如何配置它。
特别是,我不确定环境变量是如何为所有配置选项命名的,因为 some docs 只提到 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
但没有提到区域和输出设置.
我可以提供以下秘密和环境变量,然后使用命令:
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
我建议使用此 AWS 操作在 GitHub 操作环境中设置所有 AWS 区域和凭据环境变量。它不会设置输出环境变量,因此您仍然需要这样做,但它具有很好的功能,可以确保凭据环境变量在输出中被屏蔽为秘密,支持担任角色,并在需要时提供您的帐户 ID它在其他动作中。
https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions
根据我的经验,来自 action runner 的 out-of-box 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 }}
我想在 GitHub 操作中 运行 命令,例如 aws amplify start-job
。我知道 AWS CLI 已预安装,但我不确定如何配置它。
特别是,我不确定环境变量是如何为所有配置选项命名的,因为 some docs 只提到 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
但没有提到区域和输出设置.
我可以提供以下秘密和环境变量,然后使用命令:
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
我建议使用此 AWS 操作在 GitHub 操作环境中设置所有 AWS 区域和凭据环境变量。它不会设置输出环境变量,因此您仍然需要这样做,但它具有很好的功能,可以确保凭据环境变量在输出中被屏蔽为秘密,支持担任角色,并在需要时提供您的帐户 ID它在其他动作中。
https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions
根据我的经验,来自 action runner 的 out-of-box 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 }}