【问题标题】:Failure uploading file to S3 from gitlab workflow从 gitlab 工作流上传文件到 S3 失败
【发布时间】:2021-11-07 02:55:54
【问题描述】:

我正在尝试将 workspace.yaml 上传到 S3 存储桶,前提是它尚不存在。

我正在使用这个名为 gitlab-ci.yaml 的工作流:

  environment: dev
  variables:
    AWS_REGION: us-east-1
    WORKSPACEFILE_PATH: aws s3 ls s3://${BUCKET}/Workspace/config/workspace.yaml
  script:
    - PATH="./workspace.yaml"
    - echo "INFO - Searching Workspace in $WORKSPACEFILE_PATH"
    - |
      if [ "$WORKSPACEFILE_PATH" != "" ]; then
      - aws s3 cp ./workspace.yaml  s3://${BUCKET}/Workspace/config/workspace.yaml
        exit 0
      else
        echo "Not Uploaded"
      fi

上传失败。

【问题讨论】:

  • 添加错误信息。看起来您缺少从密钥访问 AWS 所需的环境变量定义。
  • 如果提供错误详情会很有帮助!

标签: amazon-web-services amazon-s3 gitlab aws-cli


【解决方案1】:
  1. 在不使用任何变量的情况下运行aws s3 ls s3://${BUCKET}/Workspace/config/workspace.yaml,如果可行,则使用变量并再次测试,从命令行而不是脚本运行命令以更轻松地进行故障排除。

  2. 检查您尝试将文件复制到的存储桶的 AWS S3 权限。

  3. 要检查字符串是否为空,可以使用[-z "$WORKSPACEFILE_PATH"]; -z 参数来测试字符串是否为空。您可以改用 -n 参数来测试字符串是否为空。

【讨论】:

    猜你喜欢
    • 2014-06-13
    • 2015-09-12
    • 2017-04-12
    • 1970-01-01
    • 2016-08-07
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多