amazon-web-services - Gitlab 运行程序无法运行 aws 命令

标签 amazon-web-services gitlab gitlab-ci gitlab-ci-runner

我正在尝试使用他们共享的 Runners 运行 GitLab 的工作,
我创建了一个 .gitlab-ci.yml并将其保存在我的项目根目录中,
将 AWS 凭证配置为环境变量 -

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION

Settings -> CI / CD -> Variables enter image description here

仔细检查了我试图构建的分支是 protected
以下是我的 .gitlab-ci.yml -
stages:
    - build

build:
    image: python:latest
    stage: build
    script:
            - apt-get update
            - apt-get install -y zip unzip
            - pip install awscli
            - mkdir ~/.aws/
            - touch ~/.aws/credentials
            - pip install awscli
            - printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\nregion = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "$AWS_DEFAULT_REGION" >> ~/.aws/credentials
            - bash cicdScript.sh

CICD 脚本具有 aws 命令 -
$(aws s3 ls)

但我仍然收到以下错误 -
Unable to locate credentials. You can configure credentials by running "aws configure".

引用 -
https://medium.com/faun/continuous-static-upload-to-aws-s3-using-gitlab-runners-17f0260a5af2

最佳答案

您可以使用

- pip install awscli
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region $AWS_DEFAULT_REGION

代替
- mkdir ~/.aws/
- touch ~/.aws/credentials
- pip install awscli
- printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\nregion = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "$AWS_DEFAULT_REGION" >> ~/.aws/credentials

关于amazon-web-services - Gitlab 运行程序无法运行 aws 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56577890/

相关文章:

caching - 在构建之间使用 gitlab ci runner 时如何为 sbt 启用 .ivy2 缓存

docker - 在 docker 中使用 gitlab private repo 作为 golang 依赖项

gitlab - GitLab 中的聊天有什么用以及如何启用它?

mysql - cakephp + phpunit + gitlab 持续集成

node.js - 使用 AWS Lambda 函数和 Node.js 从 S3 存储桶中提取 zip 文件并上传到另一个存储桶

amazon-web-services - 适用于Amazon AWS的Dockerfile脚本

google-app-engine - 使用亚马逊网络服务作为谷歌应用引擎后端

amazon-web-services - 在 Amazon AWS Lightsail SSH 终端 vim 中转义 'insert' 模式

python - 如何避免在 .gitlab-ci.yml 的每个阶段之前安装 requirements.txt?

ssl - Gitlab 页面和 Jekyll - 设置 TLS Let's Encrypt 的问题