OpenShift - Jenkins

O autor original desta página é Fares

Esta página fornece algumas dicas sobre como você pode atacar uma instância do Jenkins em execução em um cluster Openshift (ou Kubernetes)

Uma instância do Jenkins pode ser implantada em um cluster Openshift ou Kubernetes. Dependendo do seu contexto, você pode precisar adaptar qualquer payload, yaml ou técnica mostrada. Para obter mais informações sobre atacar o Jenkins, você pode dar uma olhada nesta página

Pré-requisitos

1a. Acesso do usuário a uma instância do Jenkins OU 1b. Acesso do usuário com permissão de gravação em um repositório SCM onde uma compilação automatizada é acionada após um push/merge

Como funciona

Fundamentalmente, quase tudo nos bastidores funciona da mesma forma que uma instância regular do Jenkins em execução em uma VM. A principal diferença é a arquitetura geral e como as compilações são gerenciadas dentro de um cluster Openshift (ou Kubernetes).

Compilações

Quando uma compilação é acionada, ela é primeiro gerenciada/orquestrada pelo nó mestre do Jenkins e depois delegada a um agente/escravo/worker. Neste contexto, o nó mestre é apenas um pod regular em execução em um namespace (que pode ser diferente daquele onde os workers são executados). O mesmo se aplica aos workers/escravos, no entanto, eles são destruídos assim que a compilação é concluída, enquanto o mestre sempre permanece ativo. Sua compilação geralmente é executada dentro de um pod, usando um modelo de pod padrão definido pelos administradores do Jenkins.

Acionando uma compilação

Você tem várias maneiras principais de acionar uma compilação, como:

  1. Você tem acesso à interface do usuário do Jenkins

Uma maneira muito fácil e conveniente é usar a funcionalidade de Repetir de uma compilação existente. Isso permite que você repita uma compilação executada anteriormente, permitindo que você atualize o script groovy. Isso requer privilégios em uma pasta do Jenkins e um pipeline predefinido. Se você precisa ser furtivo, pode excluir suas compilações acionadas se tiver permissão suficiente.

  1. Você tem acesso de gravação ao SCM e as compilações automatizadas são configuradas via webhook

Você pode simplesmente editar um script de compilação (como Jenkinsfile), confirmar e enviar (eventualmente criar um PR se as compilações forem acionadas apenas em mesclagens de PR). Tenha em mente que este caminho é muito barulhento e requer privilégios elevados para limpar seus rastros.

Substituição de YAML do Pod de Compilação do Jenkins

OpenShift - Jenkins Build Pod Override

Last updated