Parâmetros Jenkinsfile

Parâmetros Jenkinsfile

Um Jenkinsfile é um arquivo de texto que contém a definição de um pipeline de Jenkins e é verificado no controle de origem. É usado para automatizar partes do pipeline CI/CD, definindo tarefas e parâmetros que Jenkins pode usar para executar essas tarefas.

Uma maneira de parametrizar um Jenkinsfile é usar parâmetros. Parâmetros permitem que você passe dados para um Jenkinsfile no tempo de execução. Isso pode ser útil para configurações específicas do ambiente ou passando em valores específicos para a construção atual.

Neste tutorial, você aprenderá a usar parâmetros Jenkinsfile em um pipeline de Jenkins.

Requisitos:

  1. Conhecimento básico de Jenkins e Jenkins Pipeline Plugin
  2. Uma instância de Jenkins com o plug -in Jenkins Pipeline instalado
  3. Um Jenkinsfile no seu repositório de controle de origem

Jenkins declara parâmetros

Antes de usar qualquer parâmetros em um Jenkinsfile, primeiro precisamos declará -los no Jenkinsfile. Podemos conseguir isso usando o bloco de parâmetros.

Tomemos, por exemplo, a seção de pipeline mostrada abaixo:

Pipeline
Parâmetros
String (Nome: 'Environment', DefaultValue: 'Dev', Descrição: 'O ambiente para implantar')
booleano (nome: 'implantar', defaultValue: false, descrição: 'se deve implantar ou não')

..

No exemplo acima, o Jenkinsfile contém dois parâmetros como:

  1. AMBIENTE - um parâmetro de string com um valor padrão de 'Dev.'
  2. IMPLANTAR - um parâmetro booleano com um valor padrão de false.

Podemos especificar qualquer número de parâmetros dentro do bloco de parâmetros. Jenkins suporta vários tipos de parâmetros, incluindo:

  1. Tipos de parâmetros da string - usado para armazenar uma sequência de caracteres
  2. Parâmetros de texto - semelhante ao tipo de parâmetro de string, mas pode abranger várias linhas. Um exemplo é um parâmetro de descrição, como mostrado no exemplo anterior.
  3. Booleanparam - Booleanparam ou booleano é usado para armazenar valores verdadeiros ou falsamente.
  4. Escolha - Parâmetros de escolha, por outro lado, permitem armazenar valores de múltipla escolha.
  5. Senha - Os parâmetros de senha são usados ​​para armazenar senhas e credenciais de autenticação.

Parâmetros de acesso de Jenkins

Depois de declararmos seus parâmetros no Jenkinsfile, podemos acessar seus valores usando o objeto $ params.

Por exemplo, para acessar o valor do parâmetro do ambiente em um estágio, podemos usar $ params.AMBIENTE.

Exemplo de demonstração

Veja o exemplo do pipeline abaixo que demonstra como usar vários tipos de parâmetros em Jenkins:

Pipeline
agente qualquer
Parâmetros
String (Nome: 'Name', DefaultValue: 'Jenkins', Descrição: 'Nome de usuário')
Texto (Nome: 'Desc', DefaultValue: ", Descrição: 'Descrição sobre o usuário. ')
booleanparam (Nome: 'Toggle', DefaultValue: True, Descrição: 'Enable/desabilitar')
Choice (Nome: 'Choice', opções: [1,2,3,4,5], Descrição: 'Escolha um valor')
Senha (Nome: 'Passwd', DefaultValue: 'Secret', Descrição: 'Fornecer senha')

estágios
estágio ('exemplo')
passos
eco "Olá $ params.nome"
eco "desc: $ params.desc "
eco "alternar: $ params.alternar"
eco "escolha: $ params.escolha"
eco "senha: $ params.Passwd "



Saída:

Jenkins define valor

Em um Jenkinsfile declarativo, podemos definir um valor de um determinado parâmetro, como mostrado no exemplo abaixo:

Pipeline
Parâmetros
String (Nome: 'Environment', DefaultValue: 'Dev', Descrição: 'O ambiente a ser implantado para', valor: 'Prod')
..

Neste exemplo, o parâmetro do ambiente sempre será definido como 'Prod' ao executar a compilação.

Ao trabalhar em um Jenkinsfile Script, podemos definir o valor para um determinado parâmetro usando o comando de compilação. Um exemplo de Demonstaration é como mostrado:


..
estágio ('implantar')
Construir trabalho: 'implantar', parâmetros: [[$ classe: 'StringParameterValue', nome: 'ambiente', valor: 'prod']]

Nesse caso, o valor do pipeline da variável de ambiente está sempre definido para produzir.

Definindo o valor padrão do parâmetro

É uma boa idéia definir valores padrão para os parâmetros definidos se o valor não for fornecido durante o processo de construção. Podemos conseguir isso usando o parâmetro DefaultValue, como mostrado no exemplo abaixo:

Parâmetros
String (Nome: 'Environment', DefaultValue: 'Dev', Descrição: 'O ambiente para implantar')

Nesse caso, o parâmetro do ambiente será o padrão de 'dev' se um valor não for fornecido durante a construção.

Conclusão

Neste artigo, você descobriu como usar os parâmetros Jenkinsfile em um pipeline de Jenkins. Você aprendeu a declarar parâmetros no Jenkinsfile, acessar seus valores em estágios e definir o valor do parâmetro durante o processo de construção. Por fim, descobrimos como usar o parâmetro DefaultValue para atribuir um valor padrão a um determinado parâmetro se o valor estiver faltando.

Usando parâmetros Jenkinsfile, podemos tornar nosso pipeline Jenkins mais flexível e mais fácil de personalizar para diferentes ambientes e casos de uso.