AWS S3公共存储桶的Gitlab CI/CD管道身份验证错误-上载失败:必须在凭据中提供非空的访问密钥(AKID)



我正在尝试获得一个Gitlab cicd部署管道,以自动将Gitlab repo复制到公共S3存储桶。

我在GitLab中用AWS访问和密钥设置了屏蔽的环境变量,我有一个.GitLab-ci.yml,它使用python安装AWS CLI。然后,我使用AWS configure来设置AWS CLI并启动部署作业。

我得到的错误是:上传失败:.git/logs/HEAD到s3://wildrides-mt42/.git/logs/HEAD调用PutObject操作时出现错误(AuthorizationHeaderMalformed(:授权标头格式错误;凭证中必须提供非空的访问密钥(AKID(。

gitlab-ci.yml低于

variables:
S3_BUCKET_NAME: "wildrides-mt42"
deploy:
image: python:latest
script:
- 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 default_region_name "eu-west-2"
- aws configure set default_output_format "json"
- aws configure set aws_profile "default"
- aws configure set AWS_DEFAULT_PROFILE "default"
- aws s3 cp ./ s3://$S3_BUCKET_NAME/ --recursive

SOLVED-问题是Gitlab项目中的变量必须与脚本中调用的变量具有相同的情况。起初情况并非如此。

最新更新