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)
Aviso Legal
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:
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.
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 OverrideLast updated