Neste tutorial, aprenderemos como podemos usar as etapas do Jenkins Stash em um oleoduto para copiar ou mover arquivos de um controlador Jenkins para outro host.
Ao trabalhar em Jenkins, você pode encontrar um cenário em que um trabalho produz arquivos e diretórios específicos. No entanto, como os arquivos produzidos e localizados no agente em que o trabalho foi executado, precisamos descobrir uma maneira de transferir os arquivos para um host diferente.
O que é Stosh em Jenkins?
A etapa de estoque em Jenkins nos permite salvar arquivos e diretórios para uso tardio em qualquer nó ou espaço de trabalho conectado ao controlador. Por padrão, Jenkins descartará os arquivos escondidos assim que o pipeline for concluído.
É bom lembrar que os arquivos escondidos não estão disponíveis em outros oleodutos ou empregos dentro de um controlador Jenkins. Se você deseja transferir arquivos entre trabalhos ou pipelines, use o módulo ArchiveArtIfacts.
Outra coisa a ter em mente sobre o passo de estoque em Jenkins é que ele é melhor reservado para arquivos pequenos. Isso ocorre porque os arquivos escondidos estão disponíveis em formato alcatrão arquivado e compactado, que pode ser intensivo em recursos para arquivos acima de 100 MB. Para arquivos grandes, considere usar um plugin de gerenciador de espaço de trabalho externo.
Jenkins Stash Sintaxe
A seguir, mostra a sintaxe da etapa de estoque de Jenkins. A etapa aceita os seguintes parâmetros:
Exemplo de demonstração
Usaremos um controlador Jenkins conectado ao Debian 11 e Debian 10 Agents para demonstrar como podemos usar a etapa Stash em Jenkins.
Em seguida, usaremos um Jenkinsfile, como mostrado abaixo:
Pipeline
Agente Nenhum
estágios
estágio ('start')
Agente Label 'Debian11'
passos
sh "'
Toque em amostra.sh
mkdir -p dir
toque dir/sample_nested.sh
toque dir/sample_nested2.sh
'"
Stash (Nome: 'SampleSTash')
Stage ('Verifique os arquivos')
Agente Label 'Debian10'
passos
solte 'samplestash'
sh 'árvore'
O exemplo de exemplo acima começa criando arquivos de amostra para fins de demonstração. Em seguida, usamos a etapa de esconderijo para criar um samplestash com todos os arquivos gerados. Finalmente, soltamos os arquivos no agente de destino usando a etapa Unshet.
Depois de executar o pipeline, devemos obter uma saída como mostrado:
A partir da saída acima, podemos ver que os arquivos foram escondidos e não -desbotados no nó Debian11 e sem seleção no Debian 10 Node.
Conclusão
Neste artigo, você aprendeu o básico de trabalhar com os passos de Stash and Unshet em Jenkins.