Personalización de las tuberías 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 tuberías iniciales

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

LaAWS SAMCLI utiliza plantillas de Cookiecutter al crear plantillas de inicio. Para obtener más información sobre las plantillas cortadores de galletas,cortador de galletas.

También puede personalizar las indicaciones que se haAWS SAMLa CLI se muestra a los usuarios al crear configuraciones de canalización mediante elsam pipeline initcomando. Para personalizar las solicitudes de usuario, haga lo siguiente:

  1. Creación de unquestions.jsonarchivo— Elquestions.jsondebe estar en la raíz del repositorio del proyecto. Este es el mismo directorio que elcookiecutter.jsonfile. Para ver el esquema delquestions.jsonarchivo, consultequestions.json.schema. Para ver un ejemploquestions.jsonarchivo, consultepreguntas.json.

  2. Asignar claves de pregunta con nombres de cortador de cookies— Cada objeto delquestions.jsonnecesita una clave que coincida con un nombre de la plantilla de cookiecutter. Esta coincidencia de claves es la forma en queAWS SAMCLI asigna las respuestas rápidas del usuario a la plantilla de cortador de cookies. Para ver ejemplos de esta coincidencia de claves, consulte laArchivos de ejemplosección más adelante en este tema.

  3. Creación de unmetadata.jsonarchivo— Declarar el número de etapas que tendrá el oleoducto en elmetadata.jsonfile. El número de etapas indica lasam pipeline initcomando sobre cuántas etapas hay que solicitar información, o en el caso del--bootstrapopción, para cuántas etapas crear recursos de infraestructura. Para ver un ejemplometadata.jsonarchivo que declara una canalización con dos etapas, consultemetadata.json.

Ejemplos de proyectos

Aquí hay proyectos de ejemplo, cada uno de los cuales incluye una plantilla de Cookiecutter, unquestions.jsonarchivo y unmetadata.jsonfile:

Archivos de ejemplo

En el siguiente conjunto de archivos se muestra cómo se muestran las preguntas delquestions.jsonestán asociados a las entradas del archivo de plantilla Cookiecutter. Tenga en cuenta que estos ejemplos son fragmentos de archivo, no archivos completos. Para ver ejemplos de archivos completos, consulte laEjemplos de proyectossección anterior en 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}}' ...