Jenkinsfile checkout scm

Jenkinsfile checkout scm

O gerenciamento de código -fonte ou SCM refere -se ao Sistema de Controle de Versão (VCS), que é usado para gerenciar o código -fonte de um projeto. Jenkins suporta vários sistemas SCM, incluindo Git, Subversão, Mercurial e muitos outros.

Durante a configuração do projeto, podemos especificar o repositório SCM, onde o código -fonte do projeto é armazenado. Jenkins então verifica periodicamente o repositório para alterações. Se ele detectar novos compromissos ou atualizações, acionará automaticamente uma compilação de projeto.

Em um Jenkinsfile, podemos definir a etapa SCM de checkout para recuperar o código -fonte do pipeline do repositório SCM especificado. Esta etapa é geralmente o primeiro passo em um Jenkinsfile, garantindo que o código -fonte esteja disponível para o restante do pipeline.

Plugin de etapas scm jenkins

O plug -in Jenkins SCM Step permite que os Jenkins Pipelines usem os plugins Jenkins SCM padrão para conferir o código -fonte de uma fonte SCM. Isso fornece opções de check -out extensíveis, especificando as várias fontes de SCM, ramos específicos e mais.

Para usar este plugin, você precisa instalá -lo no seu controlador Jenkins. Abra o painel Jenkins e selecione "Gerenciar Jenkins" no menu esquerdo. Navegue até a página Gerenciar plugins -> Plugins disponíveis e procure "Etapa SCM".

Usando a etapa Jenkins SCM

Depois de instalar o plug -in SCM, podemos usar o plug -in SCM de checkout, conforme mostrado no exemplo do pipeline seguinte:

Pipeline
Agente Label 'My-Agent'
estágios
Stage ('Build')
passos
checkout scm
sh make



No exemplo anterior, usamos a etapa SCM de checkout para verificar a fonte e executar a compilação usando o comando make make.

Você pode especificar as várias fontes de SCM, como a AWS Code Pipeline, Bazaar SCM, Bitkeeper, Mercuria, Open Shift Images, FileSystem e muito mais.

A imagem a seguir mostra as fontes SCM aceitas para a etapa de checkout:

Fonte: Jenkins SCM Documentação.

O exemplo a seguir mostra como você pode especificar a fonte do SCM e outras opções, como as credenciais:

checkout scm: [$ classe: 'mercurialscm', fonte: 'ssh: // [email protected]/user/repo ', limpo: verdadeiro, credencialsid:' 1234-5678-abcd '], enquete: false

No exemplo anterior, o bloqueio SCM de checkout especifica o SCM do qual a etapa de checkout recebe o código -fonte.

Também definimos a configuração do SCM de destino, incluindo o URL e as credenciais do servidor.

Nesse caso, a [$ Class: 'Mercurialscm'] é definida usando o SCM mercurial para se conectar ao repositório.

Em seguida, usamos a opção de origem para especificar o URL do repositório, que é um repositório mercurial hospedado no Bitbucket.

Também definimos a opção limpa que diz a Jenkins para executar uma finalização "limpa". Isso permite que Jenkins descarte quaisquer alterações locais e confira uma nova cópia do repositório.

A opção CredencialSID especifica um conjunto de IDs de credenciais para autenticar com o repositório de destino.

Finalmente, a pesquisa da opção está definida como falsa. Isso impede Jenkins de pesquisar o repositório para mudanças. Portanto, Jenkins não acionará automaticamente uma compilação se novas confirmações ou atualizações no repositório forem detectadas. Temos que desencadear manualmente uma construção ou usar outros meios (como um webhook) para acionar uma construção.

Conclusão

Exploramos os fundamentos do uso da etapa de checkout do SCM em Jenkins para verificar o código -fonte de um determinado repositório.