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. Jenkins Pipeline Crear su propia imagen de Docker y cargarla en Docker Hub para mantener su repositorio actualizado es un buen ejemplo para comprender cómo puede mejorar su forma de trabajo. Jenkins Pipelines requisitos previos Un servidor con Jenkins y Docker ejecutándose (el usuario de Jenkins debería poder ejecutar Docker). cuenta Github. Cuenta del concentrador Docker. Configuración de su entorno Instale el en Jenkins: complemento Docker Pipelines Administrar Jenkins → Administrar complementos. Busque Docker Pipelines, haga clic en y espere hasta que termine. Instalar sin reiniciar Cargue su definición de Dockerfile en su repositorio de Github. Haga clic en el botón verde y copie la URL, ya que la necesitará más adelante. Clonar o Descargar En Jenkins, debe crear una nueva credencial con los detalles de su cuenta de Docker Hub. Vaya a 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 . Credenciales → Global → Agregar credenciales dockerhub_id Creando tu primer Pipeline de Jenkins Ahora, estamos listos para crear nuestro primer . En Jenkins, vaya a escriba el nombre que desea para este proyecto de canalización y luego haga clic en Aceptar. Pipeline Nuevo elemento → Canalización, A continuación, puede omitir todas las opciones y e ir directamente a la sección . Aquí puede incluir una definición de Pipeline (generalmente llamada Jenkinsfile) o puede hacer referencia a una ubicación externa como Git o Subversion. General Build Trigger Pipeline El Pipeline que estamos definiendo tiene cuatro etapas: La primera es obtener el Dockerfile de nuestro repositorio de Github, El segundo construirá la imagen usando para etiquetar la versión, $BUILD_NUMBER El tercero es enviar la imagen creada a su registro de Docker Hub. Finalmente, limpiaremos la imagen construida previamente en el servidor local. Tenga en cuenta que debe modificar el código con sus detalles específicos de Docker Hub y Github: pipeline { environment { registry = registryCredential = dockerImage = } agent any stages { stage( ) { steps { git } } stage( ) { steps{ script { dockerImage = docker.build registry + } } } stage( ) { steps{ script { docker.withRegistry( , registryCredential ) { dockerImage.push() } } } } stage( ) { steps{ sh } } } } "YourDockerhubAccount/YourRepository" 'dockerhub_id' '' 'Cloning our Git' 'https://github.com/YourGithubAccount/YourGithubRepository.git' 'Building our image' ": " $BUILD_NUMBER 'Deploy our image' '' 'Cleaning up' "docker rmi : " $registry $BUILD_NUMBER Ejecute su canalización y cree imágenes 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 para ejecutar manualmente. Debería obtener una salida secuencial de las diferentes etapas similar a esta: Build Now 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: Defina un webhook para ejecutar Pipeline cuando se envíe una a su repositorio de Github. confirmación Incluya varios contenedores en la misma tubería para mantener diferentes etapas (como backend y frontend) o diferentes entornos (dev/prod) Establece una notificación por correo electrónico/Telegram/Slack con el estado y/o salida de tu Pipeline. 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 . Le gusta compartir su conocimiento escribiendo para , , y muchos más, y aunque no está haciendo eso, debe estar pescando o jugando al ajedrez. Javelynn Hackernoon DZone Appfleet Publicado anteriormente en https://appfleet.com/ .