Amazon web services Gitlab runner无法运行aws命令

Amazon web services Gitlab runner无法运行aws命令,amazon-web-services,gitlab,gitlab-ci,gitlab-ci-runner,Amazon Web Services,Gitlab,Gitlab Ci,Gitlab Ci Runner,我正在尝试使用他们共享的跑步者运行GitLab的作业, 我创建了一个.gitlab ci.yml,并将其保存在项目的根目录中, 将AWS creds配置为环境变量- AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION 在Settings->CI/CD->Variables下 仔细检查我试图从中生成的分支是否受保护 以下是我的.gitlab-ci.yml- stages: - build build: imag

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

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION
Settings->CI/CD->Variables下

仔细检查我试图从中生成的分支是否受保护

以下是我的.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
Unable to locate credentials. You can configure credentials by running "aws configure".
CICD脚本具有aws命令-

$(aws s3 ls)
但我仍然得到以下错误-

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
Unable to locate credentials. You can configure credentials by running "aws configure".
参考-
您可以使用

- 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

在代码中,您的凭据的配置文件设置为“eb cli”

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
您应该使用的命令是

aws s3 ls --profile eb-cli

如果您未通过配置文件,将选择[默认值]。由于未配置默认值,因此导致问题。

正如错误所述,它无法找到
aws
命令。您使用哪个
图像进行此操作?你可以发布你的
.gitlab ci.yml
?看起来你只是没有在你的gitlab上安装AWS命令行工具host@Rekovni添加了.gitlab-ci.yml和env变量setupUngulary您为什么要在
凭证
文件中使用
[eb cli]
,是否可以尝试改用
[default]
?虽然这是不安全的,但是在
printf
之后尝试
cat~/.aws/credentials
时会发生什么?(如果确实有效,请在此之后撤销您的密钥…)