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.
Cómo personalizar las canalizaciones iniciales con AWS SAM
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:
-
Cree un archivo de
questions.json
: el archivoquestions.json
debe estar en la raíz del repositorio del proyecto. Este es el mismo directorio que el del archivocookiecutter.json
. Para ver el esquema del archivoquestions.json
, consulte questions.json.schema. Para ver un ejemplo de archivo questions.json
, consulte questions.json. -
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. -
Cree un archivo
metadata.json
: declara el número de etapas que tendrá la canalización en el archivo demetadata.json
. El número de etapas indica al comandosam 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 archivometadata.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
:
-
Ejemplo de Jenkins: plantilla de canalización de Jenkins en dos etapas
-
CodePipeline ejemplo: plantilla de CodePipeline canalización en dos etapas
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
}}' ...