As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Como personalizar pipelines iniciais com o AWS SAM
Como administrador de CI/CD, talvez você queira personalizar um modelo inicial de pipeline e as instruções guiadas associadas que os desenvolvedores da sua organização possam usar para criar configurações de pipeline.
O AWS SAMCLI usa modelos Cookiecutter ao criar modelos iniciais. Para obter detalhes sobre o cookie cutter template, Cookiecutter
Você também pode personalizar os prompts que AWS SAM CLI exibe aos usuários ao criar configurações de pipeline usando o comando sam pipeline init
. Para personalizar os prompts do usuário, faça o seguinte:
-
Criar um arquivo
questions.json
— O arquivoquestions.json
deve estar na raiz do repositório do projeto. Este é o mesmo diretório do arquivocookiecutter.json
. Para ver o esquema do arquivoquestions.json
, consulte questions.json.schema. Para ver um arquivo questions.json
de exemplo, consulte questions.json. -
Mapeie chaves de pergunta com nomes de cookiecutter — Cada objeto no arquivo
questions.json
precisa de uma chave que corresponda a um nome no modelo cookiecutter. Essa combinação de teclas é a forma como AWS SAM CLI mapeia as respostas rápidas do usuário ao modelo do cortador de biscoitos. Para obter exemplo dessa correspondência de teclas, consulte a seção Exemplo de arquivos mais adiante neste tópico. -
Crie um
metadata.json
arquivo - Declare o número de estágios que o pipeline terá no arquivometadata.json
. O número de estágios instrui o comandosam pipeline init
sobre quantos estágios solicitar informações ou, no caso da opção--bootstrap
, para quantos estágios criar recursos de infraestrutura. Para ver um arquivometadata.json
de exemplo que declara um pipeline com dois estágios, consulte metadata.json.
Projetos de exemplo
Aqui estão exemplos de projetos, cada um incluindo um modelo Cookiecutter, um arquivo questions.json
e um arquivo: metadata.json
-
Exemplo do Jenkins: modelo de pipeline do Jenkins em dois estágios
-
Exemplo de CodePipeline: modelo de pipeline CodePipeline de dois estágios
Exemplo de arquivos
O conjunto de arquivos a seguir mostra como as perguntas no arquivo questions.json
são associadas às entradas no arquivo de modelo Cookiecutter. Observe que esses exemplos são trechos de arquivo, não arquivos completos. Para ver exemplos de arquivos completos, consulte a seção Projetos de exemplo anterior neste tópico.
Exemplo de 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" }, { ...
Exemplo de cookiecutter.json
:
{ "outputDir": "aws-sam-pipeline", "
pipeline_user_jenkins_credential_id
": "", "sam_template
": "", ...
Exemplo de Jenkinsfile
:
pipeline { agent any environment { PIPELINE_USER_CREDENTIAL_ID = '{{cookiecutter.
pipeline_user_jenkins_credential_id
}}' SAM_TEMPLATE = '{{cookiecutter.sam_template
}}' ...