amazon-web-services - 尽管已经设置了凭据,但 Github 操作工作流程中的 aws-cli 不断提示输入凭据?
问题描述
我想aws configure
在 Github Actions Workflow 中运行以设置部署管道。但是,与此处找到的文档相比,设置环境变量似乎不起作用。
示例作业:
部署:名称:测试 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 中设置,并使用上面引用的正确命名。
解决方案
aws-actions/configure-aws-credentials@v1对我也不起作用。以下是您设置 AWS 凭证的方法。截至 2021 年 7 月 5 日,Ubuntu 最新预装了 Aws CLI,因此您可以使用 Github 操作“环境变量”设置 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 中。使用秘密时。在环境变量中,GitHub 会知道在您的存储库中查找与您提供的密码名称匹配的任何密码
推荐阅读
- java - 从 Documentum 查询中读取自定义双精度值
- microsoft-graph-api - 使用图形资源管理器在 ms 图形报告 api 中没有得到响应
- c - How to qsort array of integer pointers?
- python - Pydub 修剪和淡化无法正常工作
- python - 如何格式化熊猫数据框并保留原始浮点精度值
- date - Moment.js -- 获取延迟时间 - 10 秒前的时刻
- javascript - 赛普拉斯遍历对象数组并单击必要的权限类型
- r - R中的双重积分与限制中的变量
- javascript - bootstrap-vue中基于json文件动态生成元素
- .net-core - Ant Design Blazor 可排序表列