GEEKS

Como definir variáveis ​​em seus pipelines de CI do GitLab – CloudSavvy IT

Publicidade

[ad_1]

O sistema Variables do GitLab CI permite injetar dados em seus ambientes de trabalho de CI. Você pode usar variáveis ​​para fornecer valores de configuração, criar pipelines reutilizáveis ​​e evitar codificar informações confidenciais em seu .gitlab-ci.yml arquivos.

Neste guia, veremos como você pode definir e usar variáveis ​​em seu próprio sistema de CI. Existem várias opções disponíveis dependendo de onde você deseja que os valores apareçam e com que regularidade você deseja alterá-los.

O básico

Em suas variáveis ​​mais simples estão os pares chave-valor que são injetados como variáveis ​​de ambiente no contexto de execução do seu pipeline. Você pode referenciá-los em seu .gitlab-ci.yml arquivo como variáveis ​​de ambiente padrão:

take a look at:
  script:
    - echo "$EXAMPLE_VARIABLE"

Você pode escapar do $ personagem usando o $$VARIABLE sintaxe:

Publicidade
take a look at:
  script:
    - echo "$$EXAMPLE_VARIABLE"

Este exemplo causaria $EXAMPLE_VARIABLE para ser registrado, em vez do valor do EXAMPLE_VARIABLE variável como mostrado acima.

As variáveis ​​estão disponíveis no ambiente do trabalho. Eles também podem ser interpolados nos valores de outros campos em seu .gitlab-ci.yml report, habilitando a configuração dinâmica do pipeline:

construct:
  symbol: $CI_REGISTRY_IMAGE/build-utils:newest

GitLab CI outline várias variáveis ​​internas que estão sempre disponíveis. Isso inclui detalhes da solicitação de confirmação, ramificação e mesclagem em que o pipeline está sendo executado. As variáveis ​​predefinidas também fornecem acesso a credenciais por trabalho para acessar outros recursos do GitLab, como o Registro de contêiner e Proxy de dependência.

Além dessas variáveis ​​internas, você pode definir seus próprios valores em vários lugares. As variáveis ​​têm suporte no nível de instância, grupo, projeto e pipeline, oferecendo flexibilidade ao definir valores de fallback, padrões e substituições. Você pode definir variáveis ​​usando a IU do GitLab ou a API; estamos nos concentrando na interface do usuário neste guia.

Definindo uma variável

As variáveis ​​são criadas na tela Configurações > CI/CD > Variáveis ​​do escopo em que você deseja que elas estejam disponíveis. Para uma variável de nível de projeto, isso significa ir para Configurações > CI/CD na barra lateral esquerda do GitLab enquanto visualiza uma página dentro projeto. Da mesma forma, para variáveis ​​em nível de grupo, navegue até o grupo e use a barra lateral para acessar suas configurações de IC. As variáveis ​​de nível de instância estão localizadas pela mesma rota na área de administração do GitLab.

Expanda a seção “Variáveis” para visualizar quaisquer variáveis ​​que já tenham sido definidas. Clique no botão azul “Adicionar variável” para começar a adicionar um novo merchandise à lista.

Cada variável precisa de uma chave exclusiva; é assim que você fará referência à variável em seu pipeline e seus scripts. O nome escolhido deve ser compatível com o shell que executará seu trabalho – se você escolher uma palavra-chave reservada, seu trabalho poderá falhar. Todas as variáveis ​​devem ser uma string válida contendo apenas caracteres alfanuméricos e sublinhados.

Em seguida, defina o valor da sua variável. Quando o menu suspenso “Tipo” for deixado em “Variável”, esse valor será injetado como está sempre que você fizer referência à variável em seu pipeline. Alterar o tipo para “Arquivo” injetará o valor como um arquivo temporário em seu ambiente de compilação; o valor da variável de ambiente será o caminho para esse arquivo temporário. Essa pode ser uma maneira mais segura de injetar dados confidenciais se seu aplicativo estiver preparado para ler o valor ultimate do arquivo especificado.

Quando terminar, clique no botão verde “Adicionar variável” para concluir o processo. Agora você pode fazer referência à sua variável em pipelines que são executados dentro do escopo em que você a definiu. Para uma variável de projeto, ela será definida para pipelines dentro desse projeto, enquanto as variáveis ​​de nível de instância estarão disponíveis para cada pipeline em seu servidor GitLab.

As variáveis ​​podem ser gerenciadas a qualquer momento retornando à tela de configurações do escopo em que estão definidas. Clique no botão Editar (ícone de lápis) ao lado de qualquer variável para exibir a caixa de diálogo de edição e alterar as propriedades da variável. Esta caixa de diálogo também fornece uma maneira de excluir variáveis ​​redundantes.

Variáveis ​​Protegidas

As variáveis ​​podem ser marcadas como “protegidas” marcando a caixa de seleção na caixa de diálogo “adicionar variável”. Essa opção significa que a variável só será definida em pipelines executados em ramificações ou tags protegidas.

As variáveis ​​protegidas são ideais em circunstâncias em que você expõe um valor confidencial, como uma chave de implantação, que não será usada em todos os pipelines. Limitar esse valor apenas aos pipelines que realmente precisam dele (como trabalhos de implantação executados em seu free up ramal) reduz o risco de vazamento acidental.

Variáveis ​​Mascaradas

A opção “Máscara variável” é outra maneira de aumentar a segurança de suas variáveis. Quando essa caixa de seleção estiver habilitada, o GitLab filtrará automaticamente o valor da variável dos logs de trabalho coletados. Qualquer não intencional echo $SECRET_VALUE será limpo, reduzindo o risco de um usuário ver um valor de token sensível ao inspecionar os logs de trabalho usando a IU da Internet do GitLab.

O mascaramento bem-sucedido requer que os valores das variáveis ​​sejam detectáveis ​​de forma confiável nos logs. Consequentemente, só funciona para valores que atendem a requisitos de formatação. Os formatos de token de autenticação mais comuns, bem como todos os dados codificados em Base64, serão compatíveis. O mascaramento funciona apenas para valores de até 4 KiB de tamanho.

Variáveis ​​de nível de ambiente

As variáveis ​​podem ser atribuídas a ambientes. Esse recurso permite que seus pipelines operem com configurações diferentes, dependendo do ambiente em que estão sendo implantados.

Use o menu suspenso “Escopo do ambiente” na caixa de diálogo “Adicionar variável” para selecionar um ambiente para sua variável. A variável só será definida em pipelines que referenciam o ambiente selecionado por meio do surroundings campo no .gitlab-ci.yml Arquivo.

Configurando Variáveis ​​em .gitlab-ci.yml

As variáveis ​​podem ser definidas dentro do seu .gitlab-ci.yml arquivo usando uma variables quadra. As variáveis ​​listadas aqui serão criadas para o trabalho se ainda não existirem; caso contrário, eles substituirão o valor definido no nível do projeto ou awesome.

As variáveis ​​podem ser definidas no nível do pipeline com um international variables seção. Trabalhos individuais também podem ter suas próprias variáveis. Ambas as abordagens são mostradas abaixo, onde o trabalho de teste substitui o valor de uma variável no nível do pipeline e outline uma variável específica do trabalho exclusivo.

variables:
  DEPLOY_URL: instance.com

deploy_staging:
  variables:
    DEPLOY_URL: staging.instance.com
    DEPLOY_IS_STAGING_ENV: true
  script:
    - ./deploy.sh

deploy_production:
  script:
    - ./deploy.sh

Variáveis ​​definidas em .gitlab-ci.yml às vezes, os arquivos podem ser usados ​​de maneiras diferentes daquelas definidas na IU ou API do GitLab. Você pode usar uma variável para evitar a repetição de seções do arquivo, mesmo que esses valores não sejam alterados ou substituídos no futuro. Portanto variables as seções podem parecer mais próximas das variáveis ​​das linguagens de programação do que as chaves do tipo config comumente encontradas no nível do projeto e awesome.

Substituindo Variáveis

O sistema de variáveis ​​do GitLab oferece vários pontos nos quais você pode substituir o valor de uma variável antes que ela seja corrigida para um pipeline ou trabalho. O ordem de precedência é relativamente complexo, mas pode ser resumido da seguinte forma:

  • As variáveis ​​predefinidas do GitLab são sempre definidas primeiro.
  • Variáveis ​​definidas dentro .gitlab-ci.yml são definidas a seguir (variáveis ​​de trabalho são mais específicas que variáveis ​​de pipeline).
  • As variáveis ​​definidas no nível de instância, grupo e projeto são colocadas em camadas.
  • As variáveis ​​do gatilho de pipeline específico substituem tudo o que vem antes.

Você sempre pode executar um pipeline com um valor de variável específico usando a execução guide. Vá para a página CI/CD > Pipelines do seu projeto e clique no botão azul “Run pipeline” no canto awesome direito.

Use o menu suspenso para selecionar a ramificação ou tag para executar o pipeline. Em seguida, use a tabela “Variáveis” para definir variáveis ​​a serem adicionadas a essa execução de pipeline. Estes se tornarão os valores mais específicos, aplicados como estágio ultimate na ordem de precedência da variável. As variáveis ​​definidas aqui não serão salvas ou reutilizadas em nenhum pipeline futuro.

Resumo

A implementação de variáveis ​​de CI do GitLab é um mecanismo poderoso e flexível para configurar seus pipelines. Há tantos lugares em que as variáveis ​​podem ser definidas que pode ser complicado descobrir onde um valor deve ser localizado.

Em geral, geralmente é mais eficaz colocar o máximo de valores possível no nível do grupo, para que você não exact se repetir em seus projetos. Você sempre pode substituir uma variável posteriormente em projetos específicos que precisam de um valor diferente. Os administradores do GitLab auto-hospedados podem usar variáveis ​​de instância para expor valores compartilhados comuns, embora isso possa causar exposição não intencional de informações se não for gerenciado com cuidado.

[ad_2]

Fonte da Notícia

Publicidade

Osmar Queiroz

Osmar é um editor especializado em tecnologia, com anos de experiência em comunicação digital e produção de conteúdo voltado para inovação, ciência e tecnologia.

Artigos relacionados

Botão Voltar ao topo
HexTec News