自定义初学者管道 - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义初学者管道

作为 CI/CD 管理员,您可能需要自定义初学者管道模板和相关的指导提示,组织中的开发人员可以使用这些模板创建管道配置。

这些区域有:Amazon SAMCLI 在创建初学者模板时使用 Cookiecutter 模板。有关 cookie 切割器模板的详细信息,Cookiecutter.

此外,您还可以自定义提示Amazon SAM使用创建管道配置时,CLI 向用户显示sam pipeline init命令。要自定义用户提示,请执行以下操作:

  1. 创建questions.jsonfile— 该questions.json文件必须位于项目存储库的根目录中。这是相同的目录cookiecutter.json文件。查看的架构questions.json文件,请参阅问题.json.schema. 要查看示例questions.json文件,请参阅问题.json.

  2. 将问题键与 cookie 切割名称映射— 中的每个对象questions.json文件需要一个与 cookiecutter 模板中的名称匹配的密钥。这个关键匹配就是Amazon SAMCLI 将用户提示响应映射到 cookie 切割器模板。有关示例密钥匹配,请参阅示例文件有关本主题后面的一节。

  3. 创建metadata.jsonfile— 宣布管道将在metadata.json文件。指示阶段的数量sam pipeline init命令提示有多少阶段提示信息,或者在--bootstrap选项,为多少个阶段创建基础架构资源。要查看示例metadata.json声明具有两个阶段的管道的文件,请参阅metadata.json.

示例项目

以下是示例项目,每个项目都包括一个 Cookiecutter 模板,questions.json文件,和metadata.jsonfile:

示例文件

以下一组文件显示了中的问题如何questions.json文件与 Cookiecutter 模板文件中的条目相关联。请注意,这些示例是文件片段,而不是完整文件。要查看完整文件的示例,请参阅示例项目本主题前面的一节。

示例:questions.json

{ "questions": [{ "key": "intro", "question": "\nThis template configures a pipeline that deploys a serverless application to a testing and a production stage.\n", "kind": "info" }, { "key": "pipeline_user_jenkins_credential_id", "question": "What is the Jenkins credential ID (via Jenkins plugin \"aws-credentials\") for pipeline user access key?", "isRequired": true }, { "key": "sam_template", "question": "What is the template file path?", "default": "template.yaml" }, { ...

示例:cookiecutter.json

{ "outputDir": "aws-sam-pipeline", "pipeline_user_jenkins_credential_id": "", "sam_template": "", ...

示例:Jenkinsfile

pipeline { agent any environment { PIPELINE_USER_CREDENTIAL_ID = '{{cookiecutter.pipeline_user_jenkins_credential_id}}' SAM_TEMPLATE = '{{cookiecutter.sam_template}}' ...