【问题标题】:aws-cli in a Github Actions workflow keeps prompting for credentials despite those being already set?尽管已经设置了凭据,但 Github Actions 工作流程中的 aws-cli 不断提示输入凭据?
【发布时间】:2020-09-06 10:58:19
【问题描述】:

我想在 Github 操作工作流中运行 aws configure 来设置部署管道。但是,与文档 found here 相比,设置环境变量似乎不起作用。

工作示例:

部署: 名称:测试 AWS cli 运行:ubuntu-latest

steps:
  - name: Checkout
    uses: actions/checkout@v2

  - name: Configure AWS credentials
    uses: aws-actions/configure-aws-credentials@v1
    with:
      aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
      aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      aws-region: us-west-2

  - name: Copy files to S3 with the AWS CLI
    run: |
      which aws
      aws configure

结果

EOF when reading a line
AWS Access Key ID [********************]: 
##[error]Process completed with exit code 255.

在本地复制时,这是因为它提示输入来自 aws-cli 的访问密钥 ID。

为什么它会提示我,根据文档,它应该选择环境变量并相应地设置它?

已在 Github 中使用上面引用的正确命名设置了秘密。

【问题讨论】:

    标签: amazon-web-services aws-cli github-actions


    【解决方案1】:

    aws-actions/configure-aws-credentials@v1 对我也不起作用。以下是您设置 AWS 凭证的方法。自 2021 年 7 月 5 日起,Ubuntu latest 预装了 Aws CLI,因此您可以使用 Github 操作“Environment Variables”只需set variables of AWS CLI。在选择运行工作流程的系统后,使用 env: 声明您的环境变量。尽管我在示例中明确声明了它,但您仍然可以使用您的 GitHub Secrets 以及该区域。

    runs-on: ubuntu-latest
    env:
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      AWS_DEFAULT_REGION: us-west-1
    steps:
    - uses: actions/checkout@v2

    这将为您设置 AWS CLI 环境变量,不再需要使用 aws-actions/configure-aws-credentials@v1 来设置您的 AWS 凭证。确保将您的 AWS 凭证放入位于存储库设置中的 GitHub Secrets 中。在环境变量中使用 secrets. 时,GitHub 会知道在您的存储库中查找与您提供的密码名称匹配的任何密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2018-02-14
      • 1970-01-01
      • 2021-07-19
      • 2020-10-14
      • 2020-03-12
      • 1970-01-01
      相关资源
      最近更新 更多