Execute trabalhos entre redes por uma interface

Use runners de projeto para alcançar redes separadas, adicionar capacidade e fornecer ferramentas. Mantenha histórico e resultados no Semaphore.

Um host de execução não atende a todos os trabalhos

Trabalhos precisam de acessos de rede, ferramentas e capacidades diferentes. Executar todos no servidor da aplicação significa compartilhar os mesmos limites.

Dê a cada trabalho o ambiente necessário

Escolha onde cada trabalho executa, prepare suas ferramentas e adicione capacidade independentemente do servidor Semaphore.

Alcance os sistemas de destinoPosicione runners perto do inventário
Use as ferramentas necessárias ao trabalhoPrepare seu ambiente de execução
Adicione capacidade de execuçãoEscale runners conforme cresce a carga

Configure runners e direcione trabalhos a eles

Escolha como cada trabalho executa

O runner determina onde o trabalho é executado. Seu executor determina se o trabalho usa o ambiente do host ou inicia em um contêiner.

Local

Execute diretamente no host runner, com as ferramentas e dependências ali instaladas.

Docker

No Pro, execute trabalhos em contêineres e escolha uma imagem de executor por modelo de tarefa.

Kubernetes

No Enterprise, execute trabalhos em pods Kubernetes com a imagem e as dependências necessárias.

Prepare a execução necessária aos trabalhos

Escolha o runner no modelo

Direcione um trabalho preparado por tag e escolha sua imagem de executor.

Modelos de tarefas

Mantenha também o plano de controle disponível

Amplie execução de tarefas e disponibilidade da aplicação como partes separadas da implantação.

Alta disponibilidade

Adapte a execução à sua infraestrutura

Posicione a execução perto do inventário

Execute automação na região ou rede dos destinos. Um runner pode fornecer acesso a uma sub-rede privada, reduzir a distância aos sistemas gerenciados ou dar capacidade dedicada a uma equipe. Localização de rede, tags e executor resolvem partes diferentes dessa configuração.

Deixe o runner iniciar a conexão

Um runner conecta-se ao servidor Semaphore e o consulta periodicamente. O servidor não precisa iniciar uma conexão de entrada com esse runner. Isso é útil para um local atrás de NAT ou em uma sub-rede privada, desde que o runner consiga acessar o Semaphore e os destinos e fontes necessários às tarefas.

Escolha escopo e roteamento do trabalho

Runners globais ficam disponíveis entre projetos; runners de projeto pertencem a um projeto. Tags compatíveis relacionam requisitos do modelo às capacidades ou locais dos runners. As configurações de runner padrão cobrem tarefas sem exigência de tag. Se nenhum runner adequado estiver disponível, uma tarefa pode continuar aguardando em vez de executar silenciosamente em outro lugar.

Separe localização e limite de execução

Execução local usa o contexto de processo e as permissões do host runner. Executores Docker e Kubernetes compatíveis introduzem um limite de contêiner ou pod, com seus próprios requisitos de configuração e edição. Montagens, rede, privilégios e imagens determinam o limite real; a palavra runner, sozinha, não garante isolamento.

Amplie a capacidade de execução independentemente

Runners adicionais podem aumentar a capacidade ou o alcance sem executar todas as tarefas no host da aplicação web. As configurações de tarefas paralelas e as consultas periódicas afetam o perfil operacional. Padrões avançados de uso único podem combinar registro, hooks de atribuição e um runner que encerra após um trabalho, mas exigem automação de implantação para esse ciclo de vida.

Execute automação em uma rede desconectada

Use licença offline Enterprise para instalações em rede fechada. Mantenha Semaphore e runners no ambiente e forneça repositórios Git, imagens de executor e dependências necessários sem acesso à rede pública.

Escolha o ambiente de execução deliberadamente

Execução local usa as permissões de processo do host runner. Use executores Docker ou Kubernetes quando os trabalhos precisarem de contêiner ou pod próprios, com imagens, montagens e rede adequadas à tarefa.

Disponibilize credenciais para o trabalho

Tarefas precisam das credenciais e configurações referenciadas pelo modelo. Fontes de ambiente e arquivo no Key Store são resolvidas no servidor Semaphore antes de usar o valor na execução.

FAQ

Qual a diferença entre runners globais e de projeto?

Runners globais são registrados para uso na instância inteira, enquanto runners de projeto pertencem a um projeto específico. Execução distribuída global está disponível em todos os planos; escopo de projeto e roteamento relacionado estão incluídos no Pro e Enterprise, conforme os preços. Escolha o escopo segundo a responsabilidade operacional e o acesso ao ambiente. Um runner específico de projeto ajuda a definir deliberadamente o local, mas sua configuração de runtime continua determinando o que o processo pode acessar.

O servidor Semaphore precisa de conexão de entrada com meu runner?

O runner inicia a comunicação conectando ao Semaphore e consultando trabalhos. Isso permite localização atrás de NAT ou em rede privada sem conexão de entrada iniciada pelo servidor. Ainda precisa alcançar o endpoint Semaphore e os repositórios, pacotes, serviços externos e destinos usados. Confira cada caminho: consultas de saída não eliminam outros requisitos de rede.

Como uma tarefa chega ao runner com a rede ou ferramentas certas?

Use tags compatíveis, requisito do modelo e padrões de runner para escolher o ambiente apropriado. Nomeie tags por capacidade ou local significativo e deixe disponibilidade e capacidade visíveis. Sem runner adequado pronto, a tarefa pode aguardar. Teste a rota com operação inofensiva e confirme o runner nos detalhes antes de usar o caminho para mudanças de produção.

Executar em um runner remoto isola cada tarefa?

Não por si só. Um executor local usa o contexto de processo do host runner e os acessos desse ambiente. Docker ou Kubernetes introduzem outro limite, mas montagens, privilégios, rede e conteúdo das imagens continuam importantes. Decida localização e modo de execução separadamente. Prepare dependências e revise o acesso ao host, sem tratar runner ou contêiner como garantia completa de segurança.

Trabalhos diferentes podem usar versões diferentes da cadeia de ferramentas?

Prepare o runtime exigido por cada trabalho no caminho selecionado. Imagens de executor compatíveis ajudam a explicitar um conjunto específico de Ansible, Terraform, Python ou outras dependências sem alterar todos os trabalhos do host compartilhado. Confira versão e edição instaladas para as opções relevantes. Teste acesso ao repositório, pacotes e conectividade aos destinos dentro do ambiente real, não apenas na sessão interativa de um administrador.

Adicionar runners torna o próprio Semaphore altamente disponível?

Adicionar runners amplia ou muda o local de execução das tarefas; isso não cria um plano de controle da aplicação com alta disponibilidade. A HA da aplicação usa vários nós Semaphore coordenados, com a arquitetura documentada de banco de dados compartilhado, Redis e balanceamento de carga. Essas capacidades podem se complementar, mas resolvem problemas diferentes. Determine se o gargalo é capacidade de execução, alcance de rede ou acesso à UI e à API antes de escolher qual parte ampliar.

O que acontece sem runner online com a tag exigida?

A tarefa aguarda até um runner disponível corresponder aos requisitos de roteamento do modelo. Confira tag, habilitação e conexão recente do runner e depois a capacidade. Uma tag é uma regra de seleção; um runner sem tag ou com outra não assume automaticamente o trabalho.

Posso escolher uma imagem Docker para um modelo de tarefa específico?

Sim. Um modelo pode substituir a imagem padrão quando o runner usa executor Docker no Pro ou Kubernetes no Enterprise. Assim, trabalhos usam as ferramentas necessárias. Prepare aplicações e dependências na imagem; o campo não muda o executor local. Veja configurações de execução do modelo.