Existe uma maneira de executar o Jenkinsfile na linha de comando?

8

Eu não quero usar a interface do usuário do Jenkins, em vez disso, gostaria de usar a linha de comando. Na linha de comando, desejo executar o Jenkinsfile no servidor Jenkins.

Isso é possível?

Digamos que eu tenho um arquivo Jenkins, se eu executar o arquivo Jenkins, ele deve executar o arquivo Jenkins no servidor Jenkins. Suponha que o trabalho ainda não esteja configurado através da interface do usuário do Jenkins.

Buvanesh Kumar
fonte
2
Que tal chamar a API Jenkins usando o Jenkins-cli?
030
Por que você precisa disso? Por que a interface do usuário não funciona para você?
030
@ 030 eu não sou um fã de GUI :)
Buvanesh Kumar
Interessante. O Jenkins em si é uma interface do usuário, mas se você realmente não gosta da interface do usuário, pode-se usar o jenkins-cli.
030
1
Estou interessado nisso para fins de teste e compatibilidade cruzada. Eu gostaria de poder criar compilações automáticas com base em tarefas regulares de multibranch / jenkinsfile e GUI com parâmetros quando precisarmos de um ajuste manual mais scripts de terminal CLI locais para que os desenvolvedores verifiquem sua parte.
AnneTheAgile

Respostas:

2

Presumo que você gostaria de executar localmente para testar a lógica? Nesse caso, existe uma estrutura de teste de unidade para o pipeline declarativo / com script do Jenkins. Eu não o usei pessoalmente, mas isso me permitiria testar a lógica stubbed localmente.

Como alternativa, como você não é fã de GUIs, pode dar uma olhada no Jenkins X, que tem uma CLI muito poderosa e é mais orientado por gitops.

Robert Northard
fonte
1

Eu já fiz isso antes. Essencialmente, você pode usar a CLI do Jenkins para importar / exportar trabalhos, o que permitirá criar e / ou atualizar um trabalho com a definição que você deseja executar. Seja JenkinsFile ou algum script groovy ou qualquer outra coisa. Confira este blog para obter detalhes.

Depois de (re) definir o trabalho, você o executará remotamente, usando a mesma CLI do Jenkins. Você pode verificar o progresso do trabalho na CLI e até ler os logs para ver o progresso. Não posso compartilhar o código, pois os direitos autorais pertencem a um dos meus empregadores anteriores, mas é fácil recriar.

Jiri Klouda
fonte