Instalación y Configuración de Jenkins - Dylalva/Project-CI-CD-Pipeline GitHub Wiki
📋 Requisitos:
Antes de empezar, asegúrate de tener:
- Azure Subscription activa.
- Una VM en Azure con Jenkins instalado y accesible.
- Cuenta en Docker Hub (o ACR) y credenciales disponibles.
- Cluster AKS creado, con
kubectl
configurado en Azure.
Instalación de Jenkins
Para este proyecto vamos a utilizar Jenkins desde una imagen de docker, por lo que necesitamos instalarlo en la máquina virtual.
1. Descargar Docker en la VM
sudo apt-get update
sudo apt-get install -y docker.io
2. Descargar la imagen de Jenkins
sudo docker pull jenkins/jenkins
3. Ejecución del contenedor con la imagen de Jenkins
sudo docker run -d \
--name jenkins \
-p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
4. Verificar si esta corriendo el contenedor:
sudo docker ps
5. Entrar en el contenedor:
sudo docker exec -u 0 -it jenkins bash
6. Instalar kubectl en el Contenedor
curl -LO "https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
mv kubectl /usr/local/bin/
7. Instalar az* en el contenedor
curl -sL https://aka.ms/InstallAzureCLIDeb | bash
8. Descargar Docker en el contenedor
apt-get update
apt-get install -y docker.io
Configuración de Jenkins
Para realizar la configuración de Jenkins desde su máquina local utilice la dirección ip pública que utilizo para conectarse a la VM y agrege :8080
.
Esto le solicitara una contraseña inicial la cuál puede obtener desde la máquina virtual con el siguiente comando:
sudo docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Al entrar por primera vez en Jenkins dele la opción de descargar los plugins
recomendados, luego cree su usuario.
El registrar el usuario Jenkins le dará la dirección con la cual puede acceder, Ej: http://40.90.193.112:8080/
Creación y configuración de un Pipeline en Jenkins
-
Crear nueva tarea (job)
- En el Dashboard de Jenkins, da clic en "Create a job" o "Nueva Tarea".
- Escribe el nombre del proyecto (por ejemplo:
ci-cd-kube
). - Selecciona el tipo de proyecto Pipeline.
- Da clic en OK.
-
Configurar repositorio Git
- En la sección de configuración del pipeline, bajo SCM, selecciona Git.
- Introduce la URL del repositorio:
https://github.com/Dylalva/PruebasRedes.git
. - Selecciona las credenciales si es necesario (en este caso no se usaron).
-
Configurar triggers
- En la pestaña Triggers, habilita la opción GitHub hook trigger for GITScm polling para que el pipeline se ejecute automáticamente con cada push al repositorio.
-
Definir pipeline desde SCM
- En la sección de Pipeline, cambia la definición de Pipeline script a Pipeline script from SCM.
- Esto indica que Jenkins usará un
Jenkinsfile
ubicado en el repositorio para definir las etapas del pipeline.
-
Guardar la configuración
- Finalmente, haz clic en Save o Apply para guardar la configuración y activar el pipeline.
¡Claro que sí! Aquí tienes un resumen paso a paso de lo que hiciste en Jenkins para la instalación de plugins, para que quede bien clarito en tu wiki:
Instalación de Plugins en Jenkins
-
Entrar a la administración de Jenkins
- Desde el panel principal de Jenkins, selecciona Administrar Jenkins.
-
Acceder a la sección de Plugins
- Dentro de la administración, haz clic en Plugins para gestionar los plugins instalados o disponibles.
-
Buscar plugins disponibles
- Ve a la pestaña Available plugins (plugins disponibles).
- Usa la barra de búsqueda para encontrar plugins específicos, en este caso, buscaste
azure
.
-
Seleccionar e instalar plugins
- Marca los plugins que deseas instalar, como Azure Credentials, Azure CLI, Docker y Docker Pipeline.
- Haz clic en el botón Install para comenzar la instalación de los plugins seleccionados.
-
Esperar a que finalice la instalación
- Jenkins descargará e instalará los plugins.
- Una vez instalados, puedes configurarlos según sea necesario.
Nota: Si es necesario debe reiniciar el docker desde la máquina virtual, usar:
sudo docker restart jenkins
Agregar Credenciales en Jenkins
-
Ir a Administración de Jenkins
- Desde el panel principal, selecciona Administrar Jenkins.
-
Acceder a la sección de Credenciales
- Dentro de la administración, haz clic en Credentials para gestionar las credenciales.
-
Seleccionar el dominio global
- En la vista de credenciales, selecciona el dominio Global credentials (unrestricted) para añadir credenciales disponibles globalmente.
-
Agregar nuevas credenciales
- Haz clic en Add Credentials o + Add Credentials.
-
Completar la información de la nueva credencial
- En Kind, selecciona el tipo de credencial: Username with password.
- En Scope, selecciona el alcance, generalmente Global.
- Ingresa el Username y Password correspondientes.
- Asigna un ID identificador único para la credencial (ejemplo:
dockerhub-cred
). - Opcionalmente, agrega una descripción para identificarla mejor.
-
Guardar las credenciales
- Haz clic en Create para guardar la nueva credencial.
-
Agregar credenciales específicas para Azure
- En Kind, selecciona el tipo de credencial: Azure Service Principal
- Similarmente, para credenciales de Azure, añade Client Secret, Tenant ID, y configura el entorno de Azure.
- Asigna un ID único como
azure-service-principal
para usar en pipelines.
Nota: Los ID de los credenciales deben ser el mismo nombre que se usa en el
Jenkinsfile
Y Listo ya tienes tu pipeline!!