Jenkins Pipeline es una herramienta poderosa cuando usa Jenkins para automatizar sus implementaciones. Las acciones flexibles y personalizadas divididas entre etapas son una buena razón para probar esta función.
Crear su propia imagen de Docker y cargarla en Docker Hub para mantener su repositorio actualizado es un buen ejemplo para comprender cómo Jenkins Pipelines puede mejorar su forma de trabajo.
Instale el complemento Docker Pipelines en Jenkins:
Administrar Jenkins → Administrar complementos.
Busque Docker Pipelines, haga clic en Instalar sin reiniciar y espere hasta que termine.
Cargue su definición de Dockerfile en su repositorio de Github. Haga clic en el botón verde Clonar o Descargar y copie la URL, ya que la necesitará más adelante.
En Jenkins, debe crear una nueva credencial con los detalles de su cuenta de Docker Hub. Vaya a Credenciales → Global → Agregar credenciales y complete el formulario con su nombre de usuario y contraseña. Complete la identificación y las descripciones. Tenga en cuenta que si configura la ID, necesitará esta ID específica para referir esta credencial desde sus scripts. Aquí solo estamos usando dockerhub_id .
Ahora, estamos listos para crear nuestro primer Pipeline . En Jenkins, vaya a Nuevo elemento → Canalización, escriba el nombre que desea para este proyecto de canalización y luego haga clic en Aceptar.
A continuación, puede omitir todas las opciones General y Build Trigger e ir directamente a la sección Pipeline . Aquí puede incluir una definición de Pipeline (generalmente llamada Jenkinsfile) o puede hacer referencia a una ubicación externa como Git o Subversion.
El Pipeline que estamos definiendo tiene cuatro etapas:
$BUILD_NUMBER
para etiquetar la versión,Tenga en cuenta que debe modificar el código con sus detalles específicos de Docker Hub y Github:
pipeline { environment { registry = "YourDockerhubAccount/YourRepository" registryCredential = 'dockerhub_id' dockerImage = '' } agent any stages { stage( 'Cloning our Git' ) { steps { git 'https://github.com/YourGithubAccount/YourGithubRepository.git' } } stage( 'Building our image' ) { steps{ script { dockerImage = docker.build registry + ": $BUILD_NUMBER " } } } stage( 'Deploy our image' ) { steps{ script { docker.withRegistry( '' , registryCredential ) { dockerImage.push() } } } } stage( 'Cleaning up' ) { steps{ sh "docker rmi $registry : $BUILD_NUMBER " } } } }
Ahora estamos listos para ejecutar Pipeline y verificar la salida si hay un error presente en cualquier etapa durante la ejecución.
Vaya a su proyecto Pipeline en Jenkins y haga clic en Build Now para ejecutar manualmente. Debería obtener una salida secuencial de las diferentes etapas similar a esta:
Si todo está bien, puede buscar en su repositorio de Docker Hub una nueva imagen etiquetada con la versión de compilación de Jenkins que coincida con su registro de Docker Hub:
Este fue un ejemplo básico de cómo trabajar con Pipelines e integrar diferentes componentes de sus implementaciones. Hay posibilidades de crear numerosas integraciones complejas a través de Pipelines a medida que avanza.
Algunas ideas para llegar más lejos con Jenkins:
Como puede ver, muchas opciones son fácilmente alcanzables. Solo sigue jugando y profundizando en Jenkins Pipelines Orchestration.
Sobre el autor: Sudip es un arquitecto de soluciones con más de 15 años de experiencia laboral y es el fundador de Javelynn . Le gusta compartir su conocimiento escribiendo para Hackernoon , DZone , Appfleet y muchos más, y aunque no está haciendo eso, debe estar pescando o jugando al ajedrez.
Publicado anteriormente en https://appfleet.com/ .