【问题标题】:serverless remove lamda using gitlab CI使用 gitlab CI 无服务器删除 lambda
【发布时间】:2020-02-27 13:01:11
【问题描述】:

我正在使用 gitlab CI 进行部署。

我在删除评论分支时遇到了问题。

stop_review:
  variables:
    GIT_STRATEGY: none
  stage: cleanup
  script:
    - echo "$AWS_REGION"
    - echo "Stopping review branch"
    - serverless config credentials --provider aws --key ${AWS_ACCESS_KEY_ID} --secret ${AWS_SECRET_ACCESS_KEY}
    - echo "$CI_COMMIT_REF_NAME"
    - serverless remove --stage=$CI_COMMIT_REF_NAME --verbose
  only:
    - branches
  except:
    - master
  environment:
    name: review/$CI_COMMIT_REF_NAME
    action: stop
  when: manual

错误是This command can only be run in a Serverless service directory. Make sure to reference a valid config file in the current working directory if you're using a custom config file

我尝试了不同的GIT_STRATEGY,可以指出我正确的方向吗?

【问题讨论】:

    标签: aws-lambda gitlab-ci serverless-framework


    【解决方案1】:

    为了运行serverless remove,您需要有可用的serverless.yml 文件,这意味着需要克隆实际的存储库。 (或者该文件需要以某种方式到达 GitLab)。

    当您运行 serverless remove 时,需要有一个可用的 serverless.yml 配置文件,因为无服务器框架允许用户不仅使用框架的 YML 配置,还可以使用其他资源(如 AWS 中的 CloudFormation)来预置基础设施,这些资源可能会或可能会完全不在指定的appstage CF 堆栈之外。

    事实上,您还可以将基础架构配置到其他提供商(AWS、GCP、Azure、OpenWhisk 或这些提供商的任何组合)。

    因此,在运行 sls remove 时仅识别阶段名称是不够的,您需要完整的 serverless.yml 模板。

    【讨论】:

    • 它没有用,我通过使用工件解决了它[又名添加 serverless.yml 作为工件]
    • 这也行得通!根据我的评论,只要serverless.yml 文件可用,sls remove 就可以工作。您可以将此问题标记为已解决吗?
    • 出于好奇,为什么它很难拥有 serverless.yml?
    • @ManishParab 我更清楚地更新了我的答案。希望对您有所帮助!
    猜你喜欢
    • 2021-06-20
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    相关资源
    最近更新 更多