Skip to content

Instantly share code, notes, and snippets.

@zelfick
Forked from nelsonyaccuzzi/jenkins.md
Last active January 18, 2021 15:28
Show Gist options
  • Save zelfick/ce9dff65ad037436931f4757eb9b20d5 to your computer and use it in GitHub Desktop.
Save zelfick/ce9dff65ad037436931f4757eb9b20d5 to your computer and use it in GitHub Desktop.
Practica de Jenkins

Práctica Jenkins

  1. Desplegar Jenkins en K8s
  2. Conectar Jenkins con K8s
  3. Instalar los plugins de docker y K8s
  4. Crear un Pod Template con el container Docker
  5. Crear un Pipeline (a partir de un Jenkinsfile) que compile el dockerfile del siguiente proyecto https://github.com/nelsonyaccuzzi/web-go-public
  6. Crear un container que tenga solo el binario de kubectl, pushearlo a dockerhub
  7. Agregar el container al pod template que anteriormente creamos
  8. Crear un pipeline que haga un kubectl get pod del cluster actual (es necesario pasar los parametros -s --token --insecure-skip-tls-verify con sus respectivos valores)
  9. Crear un pipeline que cuando se ejecute en la rama develop haga el build de una imagen de docker anterior, y cuando este en la rama master haga un kubectl get pod del cluster
  10. Crear un pipeline que cuando se ejecute en la rama develop haga el build de la imagen docker y lo pushee a dockerhub
  11. Crear un pipeline que aplique los manifiestos (con kubectl) creados para la aplicacion web-go vista anteriormente
  12. Crear un pipeline que en la rama develop construya la imagen y la publique y que en la rama master aplique el manifiesto
  13. Crear un pipeline que actualice la imagen del deployment con la nueva imagen construida (esto se logra utilizando el BUILD_NUMBER del job de jenkins).
  14. Crear un pipeline que en la rama develop contruya la imagen, la publique y luega tambien que despliegue el manifiesto en una namespace de desarrollo, y que en la rama master solo despliegue el manifiesto en el namespace de produccion (es posible que se necesite dos manifiestos)

Recursos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment