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á.
Crie um documento de YAML fluxo de trabalho
O documento de definição de YAML formato configura as etapas de entrada, saída e fluxo de trabalho para os estágios de criação e teste do processo de criação da imagem. Você pode começar com base em modelos que incluem etapas padronizadas ou começar do zero para definir seu próprio fluxo de trabalho. Seja com um modelo ou começando do zero, você pode personalizar o fluxo de trabalho para atender às suas necessidades.
Estrutura de um documento YAML de fluxo de trabalho
O documento YAML de fluxo de trabalho que o Image Builder usa para realizar ações de criação e teste de imagens está estruturado da seguinte forma.
Identificação de documentos do fluxo de
Identifica exclusivamente o fluxo de trabalho. Essa seção pode incluir os atributos a seguir.
Campo |
Descrição |
Tipo |
Obrigatório |
---|---|---|---|
name |
O nome do documento do fluxo de trabalho. |
String |
Não |
description |
A descrição do documento. |
String |
Não |
schemaVersion |
A versão do esquema do documento, atualmente 1.0. |
String |
Sim |
Exemplo
--- name: sample-test-image description: Workflow for a sample image, with extra configuration options exposed through workflow parameters. schemaVersion: 1.0
Parâmetros de entrada de documentos do fluxo de
Essa parte do documento do fluxo de trabalho define os parâmetros de entrada que o chamador pode especificar. Caso não tenha nenhum parâmetro, você poderá deixar essa seção de fora. Se você especificar parâmetros, cada parâmetro poderá incluir os atributos a seguir.
Campo |
Descrição |
Tipo |
Obrigatório |
Restrições |
---|---|---|---|---|
name |
O nome do parâmetro. |
String |
Sim |
|
description |
A descrição do parâmetro. |
String |
Não |
|
padrão |
O valor padrão do parâmetro se não houver um valor. Se você não incluir um valor padrão na definição do parâmetro, o valor do parâmetro será obrigatório em runtime. |
Corresponde ao tipo de dados do parâmetro. |
Não |
|
tipo |
O tipo de dado válido do parâmetro. Se você não incluir o tipo de dados na definição do parâmetro, o tipo de dados adotará por padrão um valor de string exigido em runtime. |
String |
Sim |
O tipo de dados do parâmetro deve ser um dos seguintes:
|
Exemplo
Especifique o parâmetro no documento de fluxo de trabalho.
parameters: - name: waitForActionAtEnd type: boolean default: true description: "Wait for an external action at the end of the workflow"
Use o valor do parâmetro no documento de fluxo de trabalho.
$.parameters.waitForActionAtEnd
Etapas do documento de fluxo
Especifica ações com até 15 etapas para o fluxo de trabalho. As etapas são executadas na ordem em que são definidas no documento do fluxo de trabalho. Em caso de falha, uma reversão é executada na ordem inversa, começando com a etapa que falhou e retrocedendo no sentido das etapas anteriores.
Cada etapa pode indicar a saída de qualquer ação da etapa anterior. Isso é conhecido como encadeamento ou referência. Para se referir à saída de uma ação da etapa anterior, você pode usar um JSONPath seletor. Por exemplo:
$.stepOutputs.
step-name
.output-name
Para obter mais informações, consulte Use variáveis dinâmicas em seu documento de fluxo de trabalho.
nota
Mesmo que a etapa não tenha um atributo de saída, qualquer saída de uma ação de etapa será incluída em stepOutput
para a etapa.
Cada etapa pode incluir os atributos a seguir.
Campo |
Descrição |
Tipo |
Obrigatório |
Valor padrão |
Restrições |
---|---|---|---|---|---|
ação |
A ação do fluxo de trabalho que essa etapa executa. |
String |
Sim |
Deve ser uma ação de etapa compatível com documentos de fluxo de trabalho do Image Builder. |
|
|
As declarações condicionais adicionam pontos de decisão de fluxo de controle ao corpo das etapas do fluxo de trabalho. |
Dict |
Não |
O Image Builder é compatível com as seguintes declarações condicionais como modificadores do operador
|
|
description |
A descrição da etapa. |
String |
Não |
Não é permitido ter strings vazias. Se incluída, o comprimento deve ser de 1 a 1.024 caracteres. |
|
inputs |
Contém os parâmetros de que a ação de etapa precisa para funcionar. Você pode especificar os valores-chave como valores estáticos ou com uma JSONPath variável que seja resolvida para o tipo de dados correto. |
Dict |
Sim |
||
name |
O nome da etapa. Esse nome deve ser exclusivo no documento de fluxo de trabalho. |
String |
Sim |
Deve ter de 3 a 128 caracteres. Pode incluir caracteres alfanuméricos e |
|
onFailure |
Configura da seguinte maneira a ação a ser tomada se a etapa falhar. Comportamento
|
String |
Não |
|
|
rollbackEnabled |
Configura se a etapa será revertida se ocorrer uma falha. Você pode usar um valor booleano estático ou uma JSONPath variável dinâmica que se resolve para um valor booleano. |
Booleano |
Não |
|
|
timeoutSeconds |
O tempo máximo, em segundos, de execução da etapa antes de falhar e tentar novamente, caso haja novas tentativas. |
Inteiro |
Não |
Depende do padrão definido para a ação da etapa, se for o caso. |
Entre 1 e 86.400 segundos (máximo de 24 horas) |
Exemplo
steps: - name: LaunchTestInstance action: LaunchInstance onFailure: Abort inputs: waitFor: "ssmAgent" - name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: TerminateTestInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId" - name: WaitForActionAtEnd action: WaitForAction if: booleanEquals: true value: "$.parameters.waitForActionAtEnd"
Saídas de documentos do fluxo de trabalho
Define as saídas para o fluxo de trabalho. Cada saída é um par de valor e chave que especifica o nome da saída e o valor. Você pode usar saídas para exportar dados em runtime que os fluxos de trabalho subsequentes possam usar. Esta seção é opcional.
Cada saída que você define inclui os atributos a seguir.
Campo |
Descrição |
Tipo |
Obrigatório |
---|---|---|---|
name |
O nome da saída. O nome deve ser exclusivo em todos os fluxos de trabalho que você incluir no pipeline. |
String |
Sim |
valor |
O valor para a saída. O valor da string pode ser uma variável dinâmica, como um arquivo de saída de uma ação de etapa. Para obter mais informações, consulte Use variáveis dinâmicas em seu documento de fluxo de trabalho. |
String |
Sim |
Exemplo
Crie uma ID de imagem de saída para o documento do fluxo de trabalho com a saída da etapa createProdImage
.
outputs: - name: 'outputImageId' value: '$.stepOutputs.createProdImage.imageId'
Consulte a saída do fluxo de trabalho no próximo fluxo de trabalho.
$.workflowOutputs.outputImageId