Integrei o Jenkins ao Bitbucket usando o Bitbucket Plugin . Conforme o Wiki do plug-in, um determinado trabalho será acionado se o repositório estiver definido no SCM do trabalho. Como você sabe, se definir um SCM em um trabalho Jenkins, isso será clonado no estágio de pré-construção.
Por enquanto, tudo bem. No entanto, o principal objetivo do trabalho que estou definindo não tem nada a ver com o conteúdo do repositório; em vez disso, só quero que o trabalho processe a carga útil enviada pelo Bitbucket. Pode-se dizer que não é grande coisa em termos de armazenamento clonar um repositório, apesar de você realmente não precisar dele. Acho que não, adicionar etapas desnecessárias, consumir tempo e recursos não é uma boa prática.
Portanto, a pergunta é: alguém sabe como definir um SCM em um trabalho Jenkins, mas evita que ele clone o repositório?
Respostas:
Sim definitivamente. Eu faço isso toda hora. Você pode especificar opções de configuração para seu pipeline e uma delas é
skipDefaultCheckout
, o que faz com que o pipeline ignore o estágio "Declarative: Checkout SCM" padrão.A
skipDefaultCheckout
opção está documentada na sintaxe do pipeline e aqui está um exemplo do arquivo Jenkins mostrando como usá-lo:fonte
checkout scm
para clonar manualmente onde for necessário. consulte devops.stackexchange.com/a/1916/2450 .Caso você não esteja usando o pipeline declarativo, evite fazer check-out no SCM:
fonte
Acho que o que você deseja alcançar é processar uma carga útil de webhook em um trabalho de Jenkins. O uso do plugin bitbucket não será necessário e provavelmente foi desenvolvido para clonar o repositório.
Acredito que essa resposta do stackoverflow possa ajudá-lo.
fonte