小编Oum*_*mri的帖子

aws s3 ls:HTTP 客户端引发了未处理的异常:标头值无效

我正在尝试实现一个使用 Gitlab CI 将 Python 代码打包并复制到 S3 的管道。这是导致问题的工作:

package:
  stage: package
  image: python:3.8
  script:
    - apt-get update && apt-get install -y zip unzip jq
    - pip3 install awscli 
    - aws s3 ls
    - ./cicd/scripts/copy_zip_to_s3.sh
  only:
    refs:
      - developer
Run Code Online (Sandbox Code Playgroud)

我想提一下,在.gitlab-ci.yml 的before_script部分中,我已经从 Gitlab 环境变量中导出了 AWS 凭证(AWS SECRET ACCESS KEY、AWS_ACCESS_KEY_ID 等)。我已经检查了数千次我的凭据,它们完全正确。我还想提一下,相同的脚本对于 Gitlab 中同一组下的另一个项目非常有效。这是错误:

$ aws s3 ls
An HTTP Client raised an unhandled exception: Invalid header value b'AWS4-HMAC-SHA256 Credential=AKIAZXXXXXXXXXX\n/2020XX2/us-east-1/sts/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ab53XX6eb72XXXXXX2152e4XXXX93b104XXXXXXX363b1da6f9XXXXX'
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

./cicd/scripts/copy_zip_to_s3.sh 执行包和复制,执行它时会发生同样的错误,这就是为什么我添加了一个简单的 aws 命令 …

amazon-web-services gitlab-ci

3
推荐指数
1
解决办法
3427
查看次数

标签 统计

amazon-web-services ×1

gitlab-ci ×1