开发者社区 > 云原生 > Serverless > 正文

通过yaml继承, 可以实现不同环境, 使用不同部署方式吗? 比如测试环境是 custom cont

通过yaml继承, 可以实现不同环境, 使用不同部署方式吗? 比如测试环境是 custom container 正式环境是 custom runtime 这个可以吗? https://github.com/VineFiner/start-vapor/blob/container-yaml/src/s.image.yaml

展开
收起
云上静思 2023-03-12 10:07:56 1489 0
4 条回答
写回答
取消 提交回答
  • 是的,通过 YAML 继承可以实现不同环境使用不同的部署方式。您可以在 serverless.yml 文件中定义不同环境的配置,然后在部署时指定相应的环境即可。例如,您可以在 serverless.yml 文件中定义以下内容:

    # serverless.yml
    
    service: my-service
    
    provider:
      name: aws
      runtime: nodejs12.x
      stage: ${opt:stage, 'dev'} # 使用 --stage 参数指定环境,默认为 dev
    
    custom:
      myVar: ${self:provider.stage}-value # 定义一个变量,根据环境动态生成值
    
    functions:
      hello:
        handler: handler.hello
        environment:
          MY_ENV_VAR: ${self:custom.myVar} # 使用变量设置环境变量
    
    # 定义测试环境的配置
    test:
      provider:
        name: aws
        runtime: nodejs12.x
        stage: test
        memorySize: 256
        timeout: 10
        environment:
          MY_ENV_VAR: ${self:custom.myVar}-test
    
    # 定义正式环境的配置
    prod:
      provider:
        name: aws
        runtime: nodejs12.x
        stage: prod
        memorySize: 512
        timeout: 30
        environment:
          MY_ENV_VAR: ${self:custom.myVar}-prod
    

    在部署时,您可以使用以下命令指定不同的环境:

    sls deploy --stage test # 部署到测试环境,使用 test 配置
    sls deploy --stage prod # 部署到正式环境,使用 prod 配置
    

    这样,您就可以根据不同的环境使用不同的部署方式了。

    2023-03-13 11:40:29
    赞同 展开评论 打赏
  • 可以。不过s.yaml配置不对,有变量没赋值。

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-03-12 18:19:39
    赞同 展开评论 打赏
  • 是的,通过使用 YAML 继承,可以实现在不同环境中使用不同的部署方式。在您的 YAML 文件中,您可以定义一个基础配置,然后通过使用 extends 来继承该基础配置,并在测试环境和正式环境中分别覆盖一些配置项以适应不同的部署需求。您可以在测试环境中使用自定义容器,并在正式环境中使用自定义运行时。

    2023-03-12 11:06:39
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    可以,使用YAML继承可以实现不同环境使用不同的部署方式,使用“extends”关键字来继承“image.yaml”文件,并针对不同的环境进行了定制化设置。这种方法是常用的部署配置方式之一,可以方便地管理和维护多个环境的部署配置。

    2023-03-12 10:14:20
    赞同 展开评论 打赏

快速交付实现商业价值。

热门讨论

热门文章

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载