Modelos de Tarefa
Um modelo de tarefa define o que executar e como: a aplicação, o repositório e o arquivo a ser executado, o inventário, os grupos de variáveis, as credenciais e as opções que um usuário pode alterar ao iniciar uma tarefa. Toda tarefa é criada a partir de um modelo.
Os modelos suportam as seguintes aplicações:
Os administradores podem ativar ou desativar aplicações e adicionar as suas próprias, consulte Aplicações.
Lista de modelos
A seção Modelos de Tarefa lista todos os modelos do projeto.

| Coluna | Conteúdo |
|---|---|
| Name | Nome do modelo com o ícone da aplicação. O botão play inicia uma nova tarefa. |
| Version | A versão mais recente do build para modelos de build e deploy; caso contrário, o ícone de resultado da última tarefa. |
| Status | Selo de status da última tarefa, ou Not launched. |
| Last Task | Número da última tarefa e quem a iniciou. |
| Playbook | O arquivo que o modelo executa. |
| Inventory, Variable Groups, Repository | Recursos vinculados ao modelo. |
As abas acima da lista são visualizações: grupos nomeados de modelos. O ícone de engrenagem no canto superior direito permite escolher quais colunas são exibidas. Clique na seta à esquerda de uma linha para expandir as tarefas mais recentes desse modelo.

Página do modelo
Clique no nome de um modelo para abrir a sua página. O botão no canto superior direito inicia uma tarefa (Run, Build ou Deploy, dependendo do tipo); Stop all interrompe todas as tarefas em execução ou na fila do modelo.
| Aba | Conteúdo |
|---|---|
| Tasks | Tarefas deste modelo, com um botão de reexecução em cada linha. |
| Details | O playbook, o tipo, o inventário, os grupos de variáveis e o repositório, além do gráfico de status das tarefas com os mesmos filtros de Estatísticas. |
| Workspaces | Apenas para modelos Terraform, OpenTofu e Terragrunt: a lista de workspaces, consulte Workspaces. |

Tipos de modelo
| Tipo | Finalidade |
|---|---|
| Task | Uma execução simples. O tipo padrão. |
| Build | Produz um artefato e atribui a ele uma versão incrementada automaticamente. |
| Deploy | Implanta uma versão produzida por um modelo de build. |
Os modelos de build e deploy e as semaphore_vars que eles passam para os playbooks estão descritos em Modelos de build e deploy.
Formulário do modelo
Usuários com o papel Manager ou superior podem criar e editar modelos com New Template e o ícone de lápis. O formulário está organizado nos grupos a seguir. Os campos marcados com o nome de uma aplicação aparecem somente para essa aplicação.
Campos comuns
| Campo | Descrição |
|---|---|
| Name | Obrigatório. Nome do modelo. |
| Description | Texto opcional exibido abaixo do nome. |
| App | Aplicação a ser executada. |
| Repository | Repositório com o playbook ou o script, consulte Repositórios. |
| Branch | Branch do Git a ser obtido. Vazio significa o branch configurado no repositório. Desativado para um repositório monorepo, que é obtido uma única vez para todos os modelos. |
| Playbook / Script filename | Caminho para o arquivo relativo à raiz do repositório. Para aplicações Terraform: o subdiretório com a configuração. |
| Different working directory | Executa a ferramenta a partir de outro diretório do repositório. |
| Inventory | Inventário do Ansible, ou um workspace para aplicações Terraform. |
| Variable Groups | Um ou mais grupos de variáveis cujas variáveis e segredos são injetados na tarefa, consulte Grupos de Variáveis. |
| Vault password (Ansible) | Chaves usadas para desbloquear o Ansible Vault, consulte Múltiplas senhas de vault. |
| View | Qual aba de visualização exibe o modelo. |
| CLI args | Argumentos extras de linha de comando como um array JSON, por exemplo ["-vvv"]. |
Campos específicos de cada tipo
| Campo | Tipo | Descrição |
|---|---|---|
| Start Version | Build | A primeira versão a ser atribuída, por exemplo 1.0.0. |
| Build Template | Deploy | O modelo de build cujos artefatos este modelo implanta. |
| Autorun | Deploy | Inicia um deploy automaticamente após cada build bem-sucedido. |
Opções avançadas
| Campo | Descrição |
|---|---|
| Allow parallel tasks | Permite que várias tarefas deste modelo sejam executadas ao mesmo tempo, consulte Tarefas paralelas. |
| Alerts, Send on success, Send on error | Define se as notificações são enviadas para as tarefas deste modelo e em quais resultados. As notificações também exigem Allow alerts for this project nas configurações do projeto. |
| Runner tag (Pro) | Executa as tarefas apenas em runners com esta tag, consulte Runners do projeto. |
| Executor image | Imagem de contêiner para runners Docker e Kubernetes, consulte Imagem do executor. |
| Issue JWT to task runner, JWT audience, JWT TTL | Fornece à tarefa um token assinado, consulte JWTs de tarefa. |
| Auto-run task if new git commit have been found | Consulta o repositório no intervalo informado e inicia uma tarefa quando o branch avança. |
| Survey variables | Entradas que o usuário preenche ao iniciar uma tarefa, consulte Variáveis de formulário. |
Prompts
Os prompts são caixas de seleção que permitem ao usuário alterar opções integradas na janela New Task: branch, inventário, argumentos de CLI e, para o Ansible, limit, tags, skip tags, nível de depuração e instalação do Galaxy. Consulte Prompts.
Para um repositório monorepo, o prompt Branch fica desativado: todos os modelos desse repositório são executados em um único checkout compartilhado, portanto uma tarefa não pode alterná-lo para outro branch ou commit. Passe o mouse sobre o campo desativado para ver o motivo.

Opções da aplicação
- Ansible: opções de limit, tags, skip tags e instalação do Galaxy, consulte Ansible.
- Terraform/OpenTofu/Terragrunt: auto approve e substituição de backend, consulte Terraform/OpenTofu e Backend HTTP.
Tarefas paralelas
Por padrão, as tarefas do mesmo modelo são executadas sequencialmente. Para permitir execuções simultâneas do mesmo modelo, ative a opção "Allow parallel tasks" nas configurações do modelo.
Imagem do executor (runners Docker e Kubernetes)
Quando um runner de projeto usa o executor Docker (Pro) ou Kubernetes (Enterprise), cada tarefa normalmente é executada na imagem de job padrão configurada no runner (por exemplo, semaphoreui/job:latest). Você pode substituir essa imagem por modelo.
- Abra as configurações do modelo
- Defina Executor image com a referência da imagem de contêiner (por exemplo,
my-registry/ansible:2.16ousemaphoreui/job:latest) - Salve o modelo
Comportamento:
- Apenas os executores de runner Docker e Kubernetes respeitam este campo; o executor local o ignora
- Deixe o campo vazio para usar a imagem padrão do runner definida em
runner.executor.docker.imageourunner.executor.k8s.image - Limpar o campo na interface remove a substituição
Casos de uso:
- Modelos que precisam de um conjunto de ferramentas diferente (Ansible mais antigo, uma versão específica do Terraform, pacotes extras do SO incluídos em uma imagem personalizada)
- Imagens isoladas para modelos sensíveis à segurança sem alterar o padrão global do runner
Consulte Configuração do runner para as configurações de imagem padrão e Runners do projeto para a configuração do executor.