Personalización de las canalizaciones iniciales - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalización de las canalizaciones iniciales

Como administrador de CI/CD, es posible que desee personalizar una plantilla de canalización inicial, y las indicaciones guiadas asociadas, que los desarrolladores de su empresa puedan utilizar para crear configuraciones de canalización.

La CLI de AWS SAM utiliza plantillas de Cookiecutter para crear plantillas de inicio. Para obtener más información sobre las plantillas de cookie cutter, Cookiecutter.

También puede personalizar las instrucciones que la CLI de AWS SAM muestra a los usuarios al crear configuraciones de canalización mediante el comando sam pipeline init. Para personalizar las solicitudes de usuario, haga lo siguiente:

  1. Cree un archivo de questions.json: el archivo questions.json debe estar en la raíz del repositorio del proyecto. Este es el mismo directorio que el del archivo cookiecutter.json. Para ver el esquema del archivo questions.json, consulte questions.json.schema. Para ver un ejemplo de archivo questions.json, consulte questions.json.

  2. Asigne las claves de preguntas a los nombres de los cookiecutter: cada objeto del archivo questions.json necesita una clave que coincida con el nombre de la plantilla del cookiecutter. Esta coincidencia de claves es la forma en que la CLI de AWS SAM asigna las respuestas de las preguntas del usuario a la plantilla cookie cutter. Para obtener ejemplos de esta coincidencia de claves, consulte la sección Archivos de ejemplo más adelante en este tema.

  3. Cree un archivo metadata.json: declara el número de etapas que tendrá la canalización en el archivo de metadata.json. El número de etapas indica al comando sam pipeline init sobre cuántas etapas debe solicitar información o, en el caso de la opción --bootstrap, para cuántas etapas debe crear los recursos de infraestructura. Para ver un ejemplo de archivo metadata.json que declara una canalización con dos etapas, consulte metadata.json.

Proyectos de ejemplo

Estos son ejemplos de proyectos, cada uno de los cuales incluye una plantilla de Cookiecutter, un archivo questions.json y un archivo metadata.json:

Archivos de ejemplo

El siguiente conjunto de archivos muestra cómo se asocian las preguntas del archivo questions.json a las entradas del archivo de plantilla de Cookiecutter. Tenga en cuenta que estos ejemplos son fragmentos de archivos, no archivos completos. Para ver ejemplos de archivos completos, consulte primero la sección Proyectos de ejemplo de este tema.

Ejemplo: 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" }, { ...

Ejemplo: cookiecutter.json

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

Ejemplo: Jenkinsfile

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