Atualmente, temos um número razoável de trabalhos e pipeline da Jenkins para construções, testes, implantações e outras atividades automatizadas.
Sempre que alteramos ou adicionamos um novo trabalho, apenas o testamos manualmente - por exemplo, percorrendo o "caminho feliz" (quando o trabalho é realizado sem erros), testando alguns casos de teste negativos quando um trabalho ou pipeline falha - verificando o código de erro e notificações.
Essa abordagem claramente não é confiável e não escala bem. Como podemos melhorar esse processo? Existe um lugar para a automação de testes quando se trata de verificar como os trabalhos e os pipelines do Jenkins funcionam?
jenkins
testing
automation
alecxe
fonte
fonte
Respostas:
Estou postando isso aqui não porque avalio essas soluções (na verdade, nunca as experimentei), mas apenas porque elas são uma resposta potencial à sua pergunta:
Você pode começar com o JenkinsPipelineUnit , uma estrutura de teste de unidade para scripts do Pipeline.
Há também um projeto chamado jenkinsfile-runner que executa seu arquivo Jenkins em uma instância Jenkins transitória e sem cabeça. Supostamente, isso pode ser usado para testes de integração das bibliotecas compartilhadas Jenkinsfiles e Pipeline. No entanto, a partir do verão de 2018, não havia documentação sobre como usar essa ferramenta para testes de integração, e não consegui encontrar nenhum exemplo de alguém usando essa ferramenta "em estado selvagem".
Consulte também o relatório de bug relacionado no Jenkins JIRA: "Estrutura de teste para o Jenkinsfile" .
fonte