Um Jenkinsfile é um arquivo de texto que contém instruções para criar um projeto e executar testes em Jenkins.
Um Jenkinsfile é normalmente usado para definir um pipeline de Jenkins e é verificado no controle de origem ao lado do restante do código -fonte do projeto. Se o Jenkinsfile for alterado, a instância de Jenkins detectará as alterações e reconstruirá o projeto com as instruções especificadas no arquivo.
O uso de um Jenkinsfile ajuda a automatizar o processo de construção e teste e garante que o projeto seja construído de forma consistente sempre. Também facilita o compartilhamento e a reutilização das configurações de construção em diferentes projetos.
Ao trabalhar com um Jenkinsfile, você pode encontrar uma instância em que precisa armazenar valores que são usados posteriormente no arquivo ou referenciados por outras partes do script. É aqui que as variáveis Jenkinsfile entram em jogo.
Neste tutorial, aprenderemos a usar variáveis em um Jenkinsfile para armazenar valores para uso posterior.
O que é uma variável Jenkinsfile?
Uma variável Jenkinsfile refere -se a um recipiente de armazenamento definido e usado para armazenar e referenciar valores que estão sujeitos a alterações no script.
Na maioria dos casos, definimos variáveis no início do Jenkinsfile. As variáveis conterão um escopo global, o que significa que elas podem ser acessadas em qualquer ponto do Jenkinfile.
Como definir uma variável no Jenkinsfile declarativo
Considere o seguinte Jenkinfile que imprime um texto simples do Hello World para o console.
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
eco 'olá mundo'
Suponha que desejemos adicionar uma variável contendo uma determinada string e imprimi -la ao console em vez de "Hello World"?
Podemos começar definindo uma nova variável para manter a mensagem para produzir no console.
Em um Jenkinsfile, definimos uma variável usando a palavra -chave def seguida pelo nome da variável, o operador de atribuição e o valor da variável.
Por exemplo:
def Msg = "Este é um texto personalizado"
O exemplo acima define uma variável chamada msg segurando um valor de string.
As variáveis são dinâmicas. Portanto, não precisamos especificar o tipo de dados durante a declaração variável.
Podemos então usar a variável como mostrado:
def Msg = "Este é um texto personalizado"
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
eco "$ msg"
Certifique -se de incluir a mensagem nas aspas.
Depois de construir o pipeline, devemos ver o texto impresso no console, como mostrado:
Se você deseja alterar o valor de uma variável predefinida, pode usar um bloco de script como mostrado:
estágios ()
passos()
roteiro
msg = "agora a string é diferente!!"
O seguinte mostra a definição completa do pipeline.
def Msg = "Este é um texto personalizado"
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
roteiro
msg = "agora a string é diferente!!"
eco "$ msg"
Executar o oleoduto acima deve retornar o texto:
Conclusão
Neste artigo, você descobriu como definir variáveis em um Jenkinsfile e aprendeu a usar as variáveis e modificar seus valores dentro de um Jenkinsfile.