Pular para o conteúdo principal
Version: v4.5.0

task.yaml

O arquivo task.yaml contém a estrutura básica para você configurar operações para serem executadas em uma Stack ou projeto.

Atributos do arquivo task.yaml

Para criar uma Task, use o comando stk-legacy create task, você terá a estrutura básica da sua Task conforme o exemplo abaixo:

name: <nome-da-sua-task>
description: <texto-descrição-task>
inputs:
- label: Commit message
type: text
default: example
name: message
required: 'true'
supported-os:
- windows
- linux
- mac
requirements-check:
dependency-example:
check-command: git --version
info: git is not installed
command: git add . ; git commit -m "{{inputs.message}}"

Atributos Obrigatórios da Task

name

String que define o nome da Task. Esta informação define o nome da Task para ser executada pelo comando stk-legacy run.

name: <nome-da-sua-task>

description

String que descreve o propósito da Task, deve conter informações que sejam relevantes para serem exibidas para os consumidores no comando stk-legacy list task.

description: <texto-descrição-task>

supported-os

Parâmetro para definir os sistemas operacionais que a Task será compatível. As opções aceitas são:

supported-os:
- windows
- linux
- mac

command

Comando ou lista de comandos para serem executados pela Task. É possível dividir a execução por sistema operacional usando os objetos com o nome do sistema operacional:

command: git add . ; git commit -m "{{inputs.message}}"

Ou por sistema operacional:

name: minha-task
description: "Descreva o seu task explicando o seu proposito."
inputs:
- label: Commit message
type: text
default: example
name: message
required: 'true'
supported-os:
- windows
- linux
- mac
requirements-check:
dependency-example:
check-command: git --version
info: git is not installed
command:
windows: |
echo "Estou no windows"
git add . & git commit -m "{{inputs.message}}"
mac: |
echo "Estou no mac"
git add . ; git commit -m "{{inputs.message}}"
linux: |
echo "Estou no linux"
git add . ; git commit -m "{{inputs.message}}"

Atributos Opcionais da Task

requirements-check

Lista de requisitos que serão checados antes da execução da lista de comandos. A opção disponível é a dependency-example com os parâmetros check-command e info:

requirements-check:
dependency-example:
check-command: git --version
info: git is not installed

check-command

String com o comando para ser executado durante a checagem de requisitos:

check-command: git --version

info

String com a mensagem para ser exibida caso a checagem dos requisitos falhe:

info: git is not installed

container

Executa o command da task dentro de um container docker.

container:
image: alpine
volumes: # opcional
- "{{ component_path.absolute() }}:/data"

image

String com a URL da imagem, ou o caminho relativo de um Dockerfile, dentro do diretório da Task.

#### **Usar uma imagem do Docker Hub**
image: ubuntu

#### **Usar um Dockerfile localizado dentro da Task**
image: Dockerfile.test

Exemplo de diretório, utilizando Dockerfile customizado.

my-stack
├── tasks
│   ├── task-docker
│   │   ├── Dockerfile.test
│   │   └── task.yaml

Quando um Dockerfile é utilizado, a Task vai construir a imagem Docker e em seguida executar as ações da Task. A tag da imagem gerada será \<stack-name\>/\<task-name\>:latest.

volumes

É a lista com os volumes que são montados durante a execução da Task. Confira um exemplo:

volumes:
- /my/files:data
- "{{ target_path.absolute() }}:/project"

inputs

Confira em Inputs dos arquivos .yaml todos os tipos de inputs disponíveis.

Próximos passos

Para mais informações sobre todos os tipos de inputs disponíveis, confira a seção Inputs dos arquivos .yaml.

Esta página foi útil?