Gitlab 运行程序无法运行 aws 命令

Ani*_*aje 2 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
Run Code Online (Sandbox Code Playgroud)

在下面 Settings -> CI / CD -> Variables 在此处输入图片说明

仔细检查了我试图构建的分支是 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
Run Code Online (Sandbox Code Playgroud)

CICD 脚本具有 aws 命令 -

$(aws s3 ls)
Run Code Online (Sandbox Code Playgroud)

但我仍然收到以下错误 -

Unable to locate credentials. You can configure credentials by running "aws configure".
Run Code Online (Sandbox Code Playgroud)

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

htm*_*oia 8

您可以使用

- 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
Run Code Online (Sandbox Code Playgroud)

代替

- 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
Run Code Online (Sandbox Code Playgroud)