Amazon web services Gitlab runner无法运行aws命令
我正在尝试使用他们共享的跑步者运行GitLab的作业,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 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
时会发生什么?(如果确实有效,请在此之后撤销您的密钥…)