2.8 KiB
OpenShift - Jenkins
El autor original de esta página es Fares
Esta página ofrece algunas indicaciones sobre cómo puedes atacar una instancia de Jenkins que se ejecuta en un clúster de Openshift (o Kubernetes).
Descargo de responsabilidad
Una instancia de Jenkins puede ser desplegada tanto en un clúster de Openshift como en Kubernetes. Dependiendo de tu contexto, es posible que necesites adaptar cualquier carga útil, yaml o técnica mostrada. Para más información sobre cómo atacar Jenkins, puedes consultar esta página.
Requisitos previos
1a. Acceso de usuario en una instancia de Jenkins O 1b. Acceso de usuario con permiso de escritura a un repositorio SCM donde se activa una construcción automática después de un push/merge.
Cómo funciona
Fundamentalmente, casi todo lo que ocurre tras bambalinas funciona igual que una instancia regular de Jenkins que se ejecuta en una VM. La principal diferencia es la arquitectura general y cómo se gestionan las construcciones dentro de un clúster de openshift (o kubernetes).
Construcciones
Cuando se activa una construcción, primero es gestionada/orquestada por el nodo maestro de Jenkins y luego delegada a un agente/esclavo/trabajador. En este contexto, el nodo maestro es solo un pod regular que se ejecuta en un namespace (que podría ser diferente al de los trabajadores). Lo mismo se aplica a los trabajadores/esclavos, sin embargo, son destruidos una vez que la construcción ha terminado, mientras que el maestro siempre permanece activo. Tu construcción generalmente se ejecuta dentro de un pod, utilizando una plantilla de pod predeterminada definida por los administradores de Jenkins.
Activar una construcción
Tienes múltiples formas principales de activar una construcción, tales como:
- Tienes acceso a la interfaz de usuario de Jenkins
Una forma muy fácil y conveniente es usar la funcionalidad de Repetir de una construcción existente. Te permite repetir una construcción ejecutada previamente mientras te permite actualizar el script groovy. Esto requiere privilegios en una carpeta de Jenkins y un pipeline predefinido. Si necesitas ser sigiloso, puedes eliminar tus construcciones activadas si tienes suficientes permisos.
- Tienes acceso de escritura al SCM y las construcciones automáticas están configuradas a través de webhook
Puedes simplemente editar un script de construcción (como Jenkinsfile), hacer commit y push (eventualmente crear un PR si las construcciones solo se activan en merges de PR). Ten en cuenta que este camino es muy ruidoso y necesita privilegios elevados para limpiar tus huellas.
Anulación de YAML del Pod de Construcción de Jenkins
{{#ref}} openshift-jenkins-build-overrides.md {{#endref}}