致命错误:发生错误(SignatureDoesNotMatch)

问题描述 投票:0回答:1

我正在尝试使用GitLabs DevOps功能来构建,测试和部署Vue.js应用程序到S3。我可以在我的本地机器上部署应用程序。但是当设置.gitlab-ci.yml文件以部署到S3时,我收到此错误。

致命错误:调用ListObjects操作时发生错误(SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。错误:作业失败:退出代码1

我的.gitlab-ci.yml文件就是这个......

variables:
    AWS_ACCESS_KEY_ID: "****"
    AWS_SECRET_ACCESS_KEY: “****”

build site:
    image: node:8.8.1
    stage: build
script:
    - npm install --progress=false
    - npm run build
artifacts:
    expire_in: 1 week
    paths:
        - dist

cache:
    paths:
        - node_modules/

all_tests:
    image: node:8.8.1
    stage: test
    script:
        - npm install
        - npm run test

deploy:
    environment: production
    image: python:latest
    script:
        - pip install awscli==1.11.89
        - aws s3 sync --acl public-read --delete dist/ s3://bucket

我的桶是公开的,也有这个政策......

{
"Version": "2012-10-17",
"Id": "Policy1524147868577",
"Statement": [
    {
        "Sid": "****",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::bucket"
    }
]
}

我不知道为什么它在本地工作而不是在GitLab上工作。我正在学习这样做,我想做得对。如果您有任何关于我或其他任何可能阅读此内容的信息,请告知我们。

提前致谢

amazon-s3 gitlab gitlab-ci
1个回答
0
投票

确保你正确地粘贴了这个秘密。我遇到了这个错误,因为当我从excel文件中复制秘密时,它会删除某些特殊字符。这对您来说可能类似。

同样,正如你所知,GitLab提供了一个很好的教程,可以在这里安全地执行此操作:https://about.gitlab.com/2016/08/26/ci-deployment-and-environments/

© www.soinside.com 2019 - 2024. All rights reserved.