O Apidog Self-hosted Runner pode ser entendido como um programa automatizado que pode ser alojado num servidor autónomo. Pode executar tarefas no Apidog, como testes automatizados agendados, importações agendadas de documentos de API e devolução de resultados de respostas mock.Preparação#
A máquina anfitriã (servidor ou PC local) deve ter o Docker instalado. A versão mínima necessária do Docker é 20.10.0; recomenda-se a versão 20.10.13.
Início Rápido#
Esta secção irá orientá-lo sobre como implementar o General Runner no seu servidor.1. Implementar o General Runner#
Navegue até à página Apidog Home, selecione a equipa pretendida e, em seguida, clique em Resources à direita. A partir daí, clique em Deploy General Runner para começar.2. Obter o Comando de Implementação do Runner#
Ao clicar em Deploy General Runner, copie o comando de implementação do General Runner a partir da janela pop-up. Pode personalizar o comando conforme necessário, com suporte para sistema operativo de servidor personalizado, portas expostas, montagem de diretório de dados e muito mais. Segue-se uma explicação detalhada destas definições:Sistema operativo do servidor: Especifica o sistema operativo para o contentor Docker. Isto inclui Linux, macOS e Windows. Selecionar o sistema operativo correto é crucial para garantir que o contentor Docker funciona corretamente.
Imagem Docker: Estão disponíveis três versões: General, Slim e Custom. Se o seu "script personalizado" precisar de chamar programas externos, escolha a imagem adequada para instalação com base no ambiente necessário:General: Contém todas as funcionalidades do Runner e inclui pré-instalados os seguintes ambientes de linguagem: Node.js 18, Java 21, Python 3 e PHP 8.
Slim: Contém todas as funcionalidades do Runner, mas apenas pré-instala o Node.js 18.
Custom: Contém todas as funcionalidades do Runner e suporta ambientes de linguagem personalizados para programas externos. Pode criar o seu próprio Dockerfile para adicionar ou remover ambientes conforme necessário.
Porta exposta: Por predefinição, os contentores Docker não expõem portas internas para acesso externo. Ao utilizar o parâmetro -p, pode mapear uma porta interna do contentor para uma porta na máquina anfitriã, permitindo o acesso externo aos serviços fornecidos pelo contentor. Por exemplo, -p 80:4524 mapeia a porta interna 4524 do contentor para a porta 80 na máquina anfitriã.
Montar diretório de dados: O parâmetro -v permite-lhe montar diretórios da máquina anfitriã no contentor, permitindo que o contentor aceda e manipule ficheiros no anfitrião (por exemplo, configurações de base de dados ou programas externos). Por exemplo, -v "/opt/runner":/opt/runner monta o diretório /opt/runner do anfitrião no diretório /opt/runner do contentor.
O comando de implementação contém informações de token e será apresentado apenas uma vez por motivos de segurança dos dados. Será gerado um novo comando sempre que clicar em Deploy General Runner.Guarde o comando localmente, pois poderá utilizá-lo para futuras atualizações do Runner.
3. Implementar o Runner no Servidor#
Cole o comando de implementação copiado no terminal do servidor e a instalação do Runner será iniciada automaticamente.Pode modificar as propriedades de implementação do Runner através de variáveis de ambiente para corresponder melhor aos seus cenários reais de utilização. Leia ambiente de implementação do runner para obter mais informações. Após a conclusão da instalação, o terminal irá apresentar informações relevantes. Se ocorrer um erro, poderá resolvê-lo com base nos detalhes do erro. Se ainda assim não conseguir resolvê-lo, contacte-nos e forneça feedback.4. Ver o Estado do Runner no Servidor#
Pode ver o estado de execução do contentor através do cliente Docker.Também pode utilizar o comando docker ps no terminal para ver o estado de execução do contentor.5. Ver o General Runner Implementado no Apidog#
Depois de confirmar que o contentor do Runner no servidor foi implementado e ativado, regresse ao Apidog. Pode ver que o Runner foi implementado e ligado ao Apidog em Team Resources → General Runner.Se o General Runner tiver sido implementado com êxito no servidor, mas não for apresentado no cliente Apidog, clique no botão de atualização no lado direito de "General Runner" para atualizar a página e verificar novamente.
Pode mudar o nome, adicionar descrições e eliminar o Runner para que os membros da sua equipa possam utilizar melhor este Runner; também pode parar/reiniciar o Runner.O Runner suspenso deixará de executar as tarefas agendadas especificadas, nem poderá criar novas tarefas relacionadas e especificar este Runner para execução.Consulte a tabela abaixo para a explicação do estado do Runner:| Estado | Descrição |
|---|
| Iniciado | O Runner está ativado normalmente no contentor no servidor, mantém a comunicação com o Apidog e pode processar tarefas relacionadas emitidas pelo Apidog. |
| Parado | O Runner foi parado manualmente no Apidog, mas continua a ser executado normalmente no contentor no servidor e mantém a comunicação. Não irá processar tarefas emitidas pelo Apidog, e as novas tarefas não podem especificar um Runner parado para execução. Pode ativá-lo manualmente no Apidog para restaurar o Runner para o estado iniciado. |
| Offline | O Runner está desligado do Apidog e não pode processar tarefas. Isto pode dever-se à paragem do contentor do Runner no servidor ou a problemas de comunicação entre o servidor e o Apidog. Para restaurar o Runner, certifique-se de que o contentor do Runner está em execução e de que não existem problemas de comunicação com o Apidog, permitindo que o Runner volte ao estado iniciado. |
Pode implementar vários General Runners numa equipa. Ao criar tarefas que exigem Runners autoalojados, os membros da equipa podem escolher entre os Runners disponíveis.Guardar Ficheiros no Runner#
Ao utilizar o Runner para executar tarefas, tais como pedidos a endpoints, cenários de teste e tarefas agendadas, poderão ser necessários determinados ficheiros locais para suportar a execução da tarefa. Exemplos incluem:Chamar outras linguagens de programação em scripts personalizados
Utilizar ligações a bases de dados em Pré/Pós-processadores
Utilizar certificado SSL ao enviar um pedido
Para acomodar isto, guarde os ficheiros necessários no diretório especificado dentro do contentor Docker. Quando o Runner executar tarefas relacionadas, irá ler o conteúdo do ficheiro a partir do diretório especificado de acordo com os requisitos da tarefa, de modo a garantir a conclusão bem-sucedida.Consulte a tabela seguinte para colocar ficheiros com os formatos e conteúdos adequados no diretório especificado para utilização:| Conteúdo de Utilização | Caminho do Diretório Especificado (ou Nome do Ficheiro) | Exemplo de Comando Docker |
|---|
| Outras Linguagens de Programação | /app/external-programs/ | -v /Users/xxx/runner/packages/api-test/external-programs:/app/externalPrograms |
| Ficheiro de Configuração da Ligação à Base de Dados | /app/database/database-connections.json | -v /Users/xxx/runner/packages/api-test/database/database-connections.json:/app/database/database-connections.json |
| Ficheiro de Lista de Certificados SSL | /app/ssl/ssl-client-cert-list.json | -v /Users/xxx/runner/packages/api-test/ssl/ssl-client-cert-list.json:/app/ssl/ssl-client-cert-list.json |
Pode consultar Esta Página para ver como exportar o ficheiro de configuração a partir do cliente Apidog. Atualizar e Reimplementar o Runner#
Atualizar o Runner#
Quando for lançada uma nova versão do Runner, aparecerá um ícone de atualização na IU do Runner de desktop. Clique no ícone para instalar a versão mais recente fornecida pelo Apidog.Clicar em Upgrade irá solicitar-lhe que pare o contentor do Runner atualmente em execução. Tenha em atenção que, assim que o contentor for parado, as tarefas agendadas e quaisquer tarefas enviadas para este Runner a partir do cliente deixarão de ser executadas.Depois de confirmar a atualização, o Apidog irá parar automaticamente o contentor atual do Runner e fornecer um comando para implementar a nova versão. Siga os passos de implementação inicial para reimplementar o Runner. Assim que a implementação for bem-sucedida, estará a utilizar a versão mais recente. Nota: As tarefas agendadas existentes no cliente permanecerão inalteradas e não precisam de ser reatribuídas.Reimplementar o Runner#
Se o Runner encontrar um problema e não conseguir encontrar uma resolução na secção de Perguntas e Respostas, ou se as instruções não ajudarem, considere reimplementar o Runner. Para o fazer, navegue até à secção More Actions do Runner específico e clique em Redeploy.O processo de reimplementação é o mesmo que o de atualização acima. Nota: A reimplementação também irá parar o contentor do Runner.Perguntas e Respostas#
Utilize o comando docker ps para localizar o Runner problemático.
Utilize os seguintes comandos para ver os registos:
Passo 1: Recolha informações para diagnosticar o problema:
Procure padrões de erro ou detalhes operacionais
Abra as ferramentas de programador (Alt+7+8), envie um cenário de teste para o Runner problemático e registe os detalhes do endpoint
Reveja os registos do Runner para procurar mensagens de erro ou pistas
Passo 2: Resolva o problema:Se conseguir identificar o problema e este não for causado por um erro do Apidog, corrija-o você mesmo
Se não conseguir identificar a causa do problema, contacte a comunidade Apidog para obter assistência adicional
Passo 1: Verifique a Conclusão da Tarefa:
Verifique se existe um relatório de teste da tarefa agendada disponível no cliente Apidog
Reveja os registos do Runner para verificar se existem problemas
Passo 2: Verifique a configuração das notificações:Certifique-se de que as definições de notificação estão guardadas na tarefa agendada
Verifique novamente se as condições e os destinatários estão corretamente configurados
Tente acionar manualmente a tarefa para confirmar se as notificações são enviadas corretamente
Existem duas causas possíveis para este erro:
O Comando de Implementação Foi Regenerado: Se gerou o comando, fechou a janela pop-up e depois clicou novamente, um novo token poderá invalidar o anterior. Para corrigir isto:Mude para outra equipa no canto superior esquerdo e, em seguida, regresse à equipa onde a implementação do Runner é necessária
Regenere o comando de implementação, copie-o e execute-o. Certifique-se de que não clica para regenerar novamente até que o processo esteja concluído.
Erro de Dados de ID com a Variável teamId: Este é um erro conhecido que foi corrigido na versão mais recente. Se o problema persistir:Mude para outra equipa no canto superior esquerdo e, em seguida, regresse à equipa onde a implementação do Runner é necessária
Regenere o comando de implementação, copie-o e execute-o. Certifique-se de que não clica para regenerar novamente até que o processo esteja concluído.