我正在尝试获得一个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项目中的变量必须与脚本中调用的变量具有相同的情况。起初情况并非如此。