6

我正在使用 Jenkins Pipeline 发布 Visual Studio AWS Serverless .Net Core 应用程序。

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

例如,如果我想发布到具有与生产环境不同的 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]
        ]
    }
4

1 回答 1

6

是的,我们可以cloudfront为 dev、staging、prod 定义别名并在vpcConfigsection 下指定它们。

请在下面找到代码片段

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)}
于 2019-09-19T05:53:12.870 回答