Como usar as variáveis ​​de ambiente em Jenkinsfile

Como usar as variáveis ​​de ambiente em Jenkinsfile
Jenkins é um aplicativo de servidor baseado em Java que é executado em um contêiner de servlet como Apache, Tomcat ou cais. Consiste em plugins que fornecem vários recursos e funcionalidades, como suporte para sistemas de controle de versão, ferramentas de construção e estruturas de teste. Jenkins também fornece uma interface da web para gerenciar e configurar as construções e visualizar os resultados da compilação e relatórios.

Jenkins se tornou um dos servidores de automação mais populares que desempenham um papel significativo nas operações de IC/CD no ciclo de desenvolvimento.

Em Jenkins, existem várias maneiras pelas quais você pode criar um novo trabalho de Jenkins. Esses métodos incluem:

  1. Jenkins Web Interface - Uma maneira de criar um emprego em Jenkins é usar a interface da web de Jenkins. Isso envolve fazer login em Jenkins, clicando no link "Novo item" e seguindo os avisos para criar um novo trabalho.
  2. Jenkinsfile - Outra maneira de criar um emprego em Jenkins é usar um Jenkinsfile. Um Jenkinsfile é um arquivo de texto que contém as definições para um ou mais empregos de Jenkins. Normalmente é verificado no controle da versão e pode ser usado para automatizar o processo de criação e configuração de trabalhos.
  3. Jenkins API - você também pode criar empregos em Jenkins usando a API Jenkins. A API Jenkins permite criar e configurar os trabalhos programaticamente, além de acionar as compilações e recuperar os resultados da construção.
  4. Ferramentas de terceiros-você pode usar várias ferramentas e plugins de terceiros para criar e gerenciar os trabalhos de Jenkins. Por exemplo, o plug-in DSL do JONKINS Job permite criar os trabalhos usando uma linguagem específica de domínio (DSL) que está escrita em groovy.
  5. Copiando um trabalho existente - finalmente, você pode criar um novo trabalho em Jenkins, copiando um trabalho existente. Isso pode ser útil se você quiser criar um novo trabalho que seja semelhante a um existente, mas com pequenas diferenças.

Apesar de todos os métodos de criação de um emprego em Jenkins, o uso do JenkensFile continua sendo um dos mais populares. Isso ocorre porque fornece uma sintaxe declarativa intuitiva para definir uma coleção de etapas e estágios. O arquivo também pode ser integrado a um repositório, permitindo que Jenkins detecte e execute a compilação automaticamente.

Portanto, ao trabalhar em um Jenkinsfile, você encontrará casos em que precisa usar as variáveis ​​do ambiente.

O que são variáveis ​​de ambiente

Variáveis ​​de ambiente referem-se a um conjunto de pares de valores-chave que podem ser acessados ​​ou definidos a partir de um trabalho de Jenkins. As variáveis ​​de ambiente são úteis quando você precisa armazenar informações necessárias em vários projetos ou etapas. Isso permite que você passe os valores que são armazenados nas variáveis ​​em vários projetos sem repetição.

Jenkins expõe várias variáveis ​​de ambiente da seguinte forma:

  • Variáveis ​​globais - Jenkins fornece um conjunto de variáveis ​​globais disponíveis para todos os trabalhos e compra. Essas variáveis ​​podem ser acessadas usando o Env Objeto em um Jenkinsfile ou um script.
  • Variáveis ​​específicas de trabalho - também podemos definir as variáveis ​​de ambiente escopo para um determinado trabalho. Podemos definir esses tipos de variáveis ​​de ambiente no arquivo de configuração de emprego. No entanto, é bom lembrar que essas variáveis ​​só são acessíveis nesse trabalho.
  • Variáveis ​​de construção - a terceira variável de ambiente em Jenkins é as variáveis ​​de construção. Essas variáveis ​​podem ser definidas usando o Env Bloqueie em um Jenkinsfile ou definindo as variáveis ​​de ambiente em um script.
  • Variáveis ​​específicas do agente - Finalmente, Jenkins nos permite definir as variáveis ​​específicas para um determinado agente. Podemos definir as variáveis ​​do agente no arquivo de configuração do agente. Da mesma forma, esses tipos de variáveis ​​são escopos.

Veja as variáveis ​​do ambiente em Jenkins

Para visualizar as variáveis ​​de ambiente disponíveis no seu controlador Jenkins, navegue até o seguinte URL:

[Jenkins_address]/Env-Vars.html

Exemplo:

http: // localhost: 8080/Env -Vars.html

Um exemplo de saída é o seguinte:

Acesse as variáveis ​​de ambiente em Jenkins

Como mencionado, Jenkins expõe as variáveis ​​de ambiente usando o nome do objeto Env. Portanto, podemos usar este objeto para acessar os valores de várias variáveis ​​de ambiente em Jenkins.

Pegue o seguinte exemplo de pipeline:

Pipeline
agente qualquer
estágios
estágio ('Env vars')
passos
eco "Job: $ Env.Build_id rodando em $ Env.Jenkins_url "



O exemplo anterior usa o objeto Env para obter o número da construção e o endereço do servidor. Portanto, a execução do pipeline anterior deve retornar a seguinte saída:

Trabalho: 1 em execução em http: // localhost: 9001/

Também podemos acessar as variáveis ​​de ambiente Jenkins usando o nome curto variável. Por exemplo, podemos obter o número da construção como $ build_number:

Pipeline
agente qualquer
estágios
estágio ('Env vars')
passos
Echo "Job: $ BUILD_ID RANDE ON $ JENKINS_URL"



Saída resultante:

Trabalho: 2 em execução em http: // localhost: 9001/

Declare as variáveis ​​ambientais específicas do trabalho em Jenkins

Você pode definir as variáveis ​​de ambiente específicas do trabalho no Jenkisfile usando um bloco de ambiente.

A sintaxe é a seguinte:

ambiente
[Nome da variável] = "[Value]"

Um exemplo de saída é o seguinte:

Pipeline
agente qualquer
ambiente
Cc = 'gcc'

..

O exemplo anterior deve criar um ambiente local chamado CC com o valor do GCC.

Conclusão

Você aprendeu sobre as várias variáveis ​​em Jenkins e como criar e acessar as variáveis ​​de ambiente global e local em Jenkins.