Cómo Autoalojar Woodpecker CI en un VPS (Guía Completa)
Woodpecker CI es un sistema de Integración Continua y Despliegue Continuo (CI/CD) de código abierto. Autoalojarlo puede optimizar tu pipeline de desarrollo mientras te permite controlar tu entorno. En esta guía, te guiaremos a través de los pasos para instalar y configurar Woodpecker CI en un VPS utilizando Docker.
Requisitos Previos
- VPS: Selecciona un proveedor de VPS. Aquí tienes una comparación de las opciones de VPS populares para alojar tu Woodpecker CI:
| Proveedor de VPS | Costo Mensual | RAM | CPUs | Almacenamiento |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | 2 | 300 GB |
| Hetzner Cloud | 4.15 EUR | 2 GB | 1 | 20 GB |
| DigitalOcean | 6 USD | 1 GB | 1 | 25 GB |
| Vultr | 6 USD | 1 GB | 1 | 25 GB |
| Linode (Akamai Cloud) | 5 USD | 2 GB | 1 | 50 GB |
Elige un proveedor que se ajuste a tus requisitos, teniendo en cuenta el rendimiento y el presupuesto. Para una comparación detallada de VPS, consulta la comparación completa de VPS.
-
Sistema Operativo: Asegúrate de estar utilizando un sistema operativo adecuado, idealmente Ubuntu 20.04 o posterior.
-
Docker: Instala Docker en tu VPS.
Paso 1: Configurar Docker
Para instalar Docker en Ubuntu, ejecuta los siguientes comandos:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
Después de la instalación, verifica que Docker esté en funcionamiento:
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
Paso 2: Instalar Woodpecker CI
-
Descargar la Imagen de Docker de Woodpecker CI:
Utiliza el siguiente comando para descargar la imagen de Woodpecker CI:
docker pull woodpeckerci/woodpecker
- Crear y Ejecutar el Contenido de Woodpecker CI:
Ahora que tienes la imagen, crea un contenedor. Necesitarás configurar varias variables de entorno según tu configuración:
docker run -d \
--name woodpecker \
--volume /var/lib/woodpecker:/data \
-e WOODPECKER_GITEA_SERVER=https://your-gitea-instance.com \
-e WOODPECKER_RPC_SECRET=your-rpc-secret \
-e WOODPECKER_SERVER=true \
-p 8000:8000 \
woodpeckerci/woodpecker
Ajusta WOODPECKER_GITEA_SERVER y WOODPECKER_RPC_SECRET de acuerdo a tu instancia de Gitea o cualquier otro servicio Git que estés utilizando.
Paso 3: Configurar Woodpecker CI
-
Accediendo a la Interfaz Web: Abre tu navegador web y navega a
http://<tu-ip-vps>:8000. Deberías ver la interfaz de Woodpecker CI. -
Registrar Webhooks: Si utilizas Gitea, asegúrate de registrar webhooks para conectar tus repositorios con Woodpecker CI y activar compilaciones.
-
Integrar con Otros Servicios: Dependiendo de las necesidades de tu proyecto, integra notificaciones o pasos de despliegue editando
.woodpecker.yml.
Preguntas Frecuentes
1. ¿Cuáles son los beneficios de autoalojar Woodpecker CI en lugar de utilizar una opción SaaS?
Autoalojar Woodpecker CI proporciona un control total sobre tu entorno de compilación, permitiéndote personalizar configuraciones según los requisitos del proyecto. Puedes evitar las limitaciones impuestas por servicios de terceros, como cuotas de tiempo de compilación y falta de acceso a los registros de código fuente. Además, el autoalojo mejora la privacidad, ya que tu código y datos permanecen dentro de tu infraestructura.
2. ¿Puedo escalar mi instancia de Woodpecker CI según la demanda de tráfico?
Sí, una de las principales ventajas de utilizar Docker es la escalabilidad. Si notas picos en el uso de CI/CD, puedes ajustar el número de instancias de Woodpecker CI o asignar recursos adicionales a tu VPS. Considera utilizar herramientas de orquestación de contenedores como Kubernetes o Docker Compose para gestionar múltiples instancias y escalar de manera efectiva.
3. ¿Cómo funcionan las copias de seguridad y la restauración al autoalojar Woodpecker CI?
Asegúrate de realizar copias de seguridad regulares de tu carpeta de datos de Woodpecker CI (/var/lib/woodpecker) para evitar la pérdida de datos. Utiliza las soluciones de copia de seguridad de tu proveedor de VPS o programa una archivación regular con tar del directorio de datos de Woodpecker. En caso de corrupción o pérdida de datos, simplemente restaura los datos respaldados en el mismo directorio y reinicia el contenedor de Woodpecker CI.
Siguiendo estos pasos, deberías tener una instancia completamente funcional de Woodpecker CI ejecutándose en tu VPS. Esta configuración permite procesos de desarrollo más eficientes, adaptados a tus requisitos únicos.