向Serverless.Template文件添加参数

时间:2018-09-20 08:07:47

标签: aws-sam

我正在使用Jenkins Pipeline发布Visual Studio AWS无服务器.Net Core应用程序。

有人可以告诉我是否可以向serverless.template文件添加参数吗?然后,在Jenkins构建过程中,我将能够使用aws cli填充这些参数。

例如,如果我要发布到具有与生产环境不同的VpcConfig值的登台环境;

"VpcConfig": {
        "SecurityGroupIds": [
            [PARAMETER_TO_BE_PASSED_IN_VIA_CLI]
        ],
        "SubnetIds": [
            [PARAMETER_TO_BE_PASSED_IN_VIA_CLI],
            [PARAMETER_TO_BE_PASSED_IN_VIA_CLI]
        ]
    }

1 个答案:

答案 0 :(得分:5)

是的,我们可以为dev,staging,prod定义cloudfront别名,并在vpcConfig部分中指定它们。

请在下面找到代码段

cloudfront:
  aliases:
    dev:
      - Fn::Join:
        - ''
        - - app-
          - 'dev'-
          - { Ref: AWS::AccountId }
          - .yourwebsite.com
    staging:
      - Fn::Join:
        - ''
        - - app-
          - 'staging'-
          - { Ref: AWS::AccountId } 
          - .yourwebsite.com
    prod:
      - yourwebsite.com
      - www.yourwebsite.com

,然后在vpcConfig部分中提及它们。

vpcConfig:
  dev:
    ${file(PathToSystem/vpcConfig.yml)}
  staging:
    ${file(PathToSystem/vpcConfig.yml)}
  prod:
    ${file(PathToSystem/vpcConfig.yml)}