La instalación y configuración de Woodpecker CI en un VPS permite desplegar una potente plataforma CI/CD self-hosted para automatizar la construcción, prueba y despliegue de su código, utilizando Docker y Docker Compose para una fácil gestión y escalabilidad.
En el ciclo moderno de desarrollo de software, la integración continua y la entrega continua (CI/CD) se han convertido en la piedra angular de la eficiencia y la fiabilidad. Woodpecker CI es una alternativa ligera pero potente a los grandes sistemas CI/CD, ideal para desplegar en su propio servidor. En este artículo, exploraremos en detalle cómo realizar la instalación de Woodpecker CI en un VPS, configurarlo para funcionar con HTTPS y garantizar un servicio fiable.
¿Qué es Woodpecker CI y por qué debería desplegarlo en un VPS?
Woodpecker CI es una plataforma de integración continua de código abierto, desarrollada como un fork de Drone CI. Proporciona una forma sencilla y eficaz de automatizar los procesos de construcción, prueba y despliegue de software. Woodpecker CI está orientado a trabajar con contenedores Docker, lo que lo convierte en una solución flexible y fácilmente escalable.
¿Por qué es necesario CI/CD?
CI/CD automatiza el ciclo de vida del desarrollo, permitiendo a los equipos entregar cambios de forma más rápida y fiable. La integración continua significa que los desarrolladores integran su código en la rama principal con frecuencia, y las pruebas automáticas se ejecutan con cada cambio, identificando problemas en las primeras etapas. La entrega continua amplía este proceso, preparando automáticamente el código verificado para el despliegue, y el despliegue continuo lo lleva a la implementación automática en producción. Woodpecker CI proporciona toda la infraestructura necesaria para implementar estos principios.
Ventajas de Woodpecker CI Self-Hosted
El despliegue de Woodpecker CI en su propio servidor, o como decimos, Woodpecker CI self-hosted, le otorga control total sobre los datos, la seguridad y la configuración. A diferencia de los servicios en la nube, no está limitado por sus planes de precios o políticas. Su propio VPS de Valebyte.com proporciona recursos dedicados, alto rendimiento y flexibilidad de configuración, lo cual es crítico para los sistemas CI/CD que pueden consumir recursos significativos durante la ejecución de las compilaciones. El uso de imágenes Woodpecker CI Docker simplifica el proceso de despliegue y gestión, aislando el entorno de compilación y garantizando la reproducibilidad de los resultados.
Al elegir Woodpecker CI en un servidor, obtiene:
- Control total: Gestione todos los aspectos del proceso CI/CD, desde la infraestructura hasta las políticas de seguridad.
- Flexibilidad: Configure el entorno de compilación para satisfacer cualquier requisito, incluso los más específicos de sus proyectos.
- Confidencialidad: Sus códigos fuente y artefactos permanecen exclusivamente en su servidor.
- Ahorro: A largo plazo, un VPS propio puede ser más económico que una suscripción a costosos servicios CI/CD en la nube, especialmente con un gran volumen de compilaciones o muchos proyectos.
- Rendimiento: Los recursos dedicados del VPS garantizan un rendimiento predecible sin "ruido de vecinos".
Requisitos del sistema para Woodpecker CI en un servidor
Antes de proceder con la instalación de Woodpecker CI, es importante asegurarse de que su VPS cumple con los requisitos mínimos del sistema. Woodpecker CI consta de dos componentes principales: Server (servidor Woodpecker CI) y Agent (agente Woodpecker CI). El servidor gestiona los pipelines, interactúa con los sistemas de control de versiones (Git, GitHub, GitLab, Gitea) y almacena la configuración. El agente realiza las tareas reales de construcción y prueba en contenedores Docker.
Configuración mínima para Woodpecker CI
Para proyectos pequeños o uso individual, donde no se esperan compilaciones paralelas o tareas muy intensivas en recursos, los siguientes requisitos mínimos son adecuados:
- Sistema operativo: Ubuntu 20.04+, Debian 11+, CentOS 8+, AlmaLinux 8+, Rocky Linux 8+. Es preferible utilizar una versión LTS reciente de Linux.
- Procesador: 1 vCPU (por ejemplo, Intel Xeon E3/E5 o AMD EPYC).
- Memoria RAM: 1 GB RAM.
- Espacio en disco: 10-20 GB NVMe SSD. Los discos NVMe aceleran significativamente las operaciones de entrada/salida, lo cual es importante para Docker y las compilaciones.
- Conexión de red: Conexión a internet estable con una dirección IP pública.
- Docker: Docker Engine instalado y en ejecución.
Esta configuración permitirá ejecutar el servidor Woodpecker CI y uno o dos agentes para compilaciones secuenciales. Sin embargo, con un uso activo, rápidamente se convertirá en un cuello de botella.
Recomendaciones para producción y carga real de Woodpecker CI
Para equipos de desarrollo, múltiples proyectos, compilaciones paralelas y un uso más intensivo, donde la velocidad y la estabilidad son críticas, se recomienda la siguiente configuración:
- Procesador: 2-4 vCPU. Cuantos más núcleos, más agentes Docker paralelos se pueden ejecutar.
- Memoria RAM: 4-8 GB RAM. Esto permitirá asignar suficiente memoria tanto para el servidor Woodpecker CI como para varios contenedores de compilación que funcionen simultáneamente.
- Espacio en disco: 50-100 GB NVMe SSD. Tenga en cuenta que las imágenes Docker y los artefactos de compilación pueden ocupar un espacio considerable.
- Base de datos: Para producción, se recomienda utilizar una base de datos externa (PostgreSQL o MySQL) en lugar de la SQLite integrada. Esto aumenta la fiabilidad y el rendimiento. En un VPS, se puede desplegar en un contenedor Docker separado o utilizar un servicio gestionado.
- Conexión de red: Canal de 100 Mbps o 1 Gbps.
La elección del VPS óptimo para Woodpecker CI vps depende del número de desarrolladores, la complejidad de los proyectos y la frecuencia de las compilaciones. Siempre es mejor tener un pequeño margen de recursos para evitar ralentizaciones en los momentos pico.
¿Busca un servidor fiable para sus proyectos?
VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.
Ver ofertas →Preparación del VPS para la instalación de Woodpecker CI Docker
Antes de proceder con el despliegue de Woodpecker CI, es necesario preparar su VPS. Esta etapa incluye la selección del sistema operativo, la configuración básica de seguridad y la instalación de Docker.
Elección del sistema operativo
Para Woodpecker CI en un servidor, se recomienda utilizar distribuciones Linux estables y populares. Las opciones más comunes y bien soportadas son:
- Ubuntu Server LTS (por ejemplo, 22.04 LTS): Una excelente opción para usuarios principiantes y experimentados, con una gran comunidad y paquetes actualizados.
- Debian Stable (por ejemplo, 12 Bookworm): Conocido por su estabilidad y seguridad, pero puede tener versiones ligeramente más antiguas de algunos paquetes.
- AlmaLinux/Rocky Linux (análogos de CentOS): Adecuados para aquellos acostumbrados al ecosistema de Red Hat.
Después de desplegar el VPS, asegúrese de que el sistema esté actualizado a las últimas versiones de los paquetes:
sudo apt update && sudo apt upgrade -y
O para sistemas tipo RHEL:
sudo yum update -y
También se recomienda configurar el firewall (UFW para Debian/Ubuntu o firewalld para sistemas tipo RHEL), permitiendo conexiones entrantes solo para SSH (puerto 22), HTTP (puerto 80) y HTTPS (puerto 443).
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Instalación de Docker y Docker Compose
Woodpecker CI utiliza activamente Docker, por lo que su instalación woodpecker ci docker es un paso obligatorio. Docker Compose simplifica la gestión de aplicaciones multicontenedor.
Paso 1: Instalación de Docker Engine
Siga la documentación oficial de Docker para la instalación en su SO. Para Ubuntu, se verá así:
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Añada su usuario al grupo docker para evitar usar sudo con cada comando Docker:
sudo usermod -aG docker $USER
newgrp docker
Verifique que Docker esté instalado y funcionando:
docker run hello-world
Paso 2: Instalación de Docker Compose
Docker Compose se instala normalmente junto con Docker Engine (como un plugin de docker compose). Si tiene una versión antigua de Docker o no está instalado, puede instalarlo por separado. Verifique la versión:
docker compose version
Si el comando no funciona o la versión es antigua, instálelo:
sudo apt install docker-compose -y
O, para una versión más reciente, descargue el binario:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # Para compatibilidad
docker-compose --version
Ahora su VPS está listo para el despliegue de Woodpecker CI.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Instalación paso a paso de Woodpecker CI en un VPS con Docker Compose
Ahora que su VPS está preparado, podemos proceder con la instalación directa de Woodpecker CI. Utilizaremos Docker Compose para facilitar la gestión del servidor y el agente.
Paso 1: Creación del archivo docker-compose.yml
Cree un directorio para Woodpecker CI y dentro de él, el archivo docker-compose.yml:
mkdir -p ~/woodpecker-ci
cd ~/woodpecker-ci
nano docker-compose.yml
Pegue la siguiente configuración. Este es un ejemplo básico que utiliza SQLite para almacenar datos (para simplificar) y ejecuta un agente de Woodpecker CI. Reemplace your.woodpecker.domain con su nombre de dominio y genere una clave secreta.
version: '3.8'
services:
woodpecker-server:
image: woodpeckerci/woodpecker-server:latest
container_name: woodpecker-server
restart: always
ports:
- "8000:8000" # Puerto para acceder a la interfaz web de Woodpecker CI
volumes:
- ./woodpecker-data:/var/lib/woodpecker # Para almacenar datos SQLite y configuración
environment:
WOODPECKER_HOST: https://your.woodpecker.domain # Su nombre de dominio
WOODPECKER_RPC_SECRET: your_rpc_secret_key # Clave secreta muy importante
WOODPECKER_ADMIN: your_admin_username # Nombre de usuario que será administrador
WOODPECKER_OPEN: "true" # Permitir el registro de nuevos usuarios (false para sistema cerrado)
WOODPECKER_GITLAB: "true" # Habilitar integración con GitLab
WOODPECKER_GITLAB_URL: https://gitlab.com # URL de su instancia de GitLab
WOODPECKER_GITLAB_CLIENT: your_gitlab_client_id # ID de la aplicación GitLab OAuth
WOODPECKER_GITLAB_SECRET: your_gitlab_client_secret # Secreto de la aplicación GitLab OAuth
# WOODPECKER_GITHUB: "true" # Para GitHub
# WOODPECKER_GITHUB_CLIENT: your_github_client_id
# WOODPECKER_GITHUB_SECRET: your_github_client_secret
# WOODPECKER_GITHUB_SCOPE: repo,repo:status,user:email,read:org
# WOODPECKER_GITEA: "true" # Para Gitea
# WOODPECKER_GITEA_URL: https://gitea.com
# WOODPECKER_GITEA_CLIENT: your_gitea_client_id
# WOODPECKER_GITEA_SECRET: your_gitea_client_secret
# WOODPECKER_DATABASE_DRIVER: postgres # Para usar PostgreSQL
# WOODPECKER_DATABASE_DATASOURCE: postgres://user:password@db:5432/woodpecker?sslmode=disable
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
container_name: woodpecker-agent
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Damos al agente acceso al daemon de Docker
environment:
WOODPECKER_SERVER: woodpecker-server:9000 # Nombre del servicio del servidor y puerto RPC
WOODPECKER_RPC_SECRET: your_rpc_secret_key # La misma clave secreta que para el servidor
WOODPECKER_AGENT_LABELS: linux/amd64,default # Etiquetas para el agente
WOODPECKER_LOG_LEVEL: info
depends_on:
- woodpecker-server
privileged: true # Necesario para ejecutar Docker-in-Docker u otras operaciones privilegiadas
Puntos importantes de la configuración:
WOODPECKER_HOST: Especifique el nombre de dominio completo por el que Woodpecker CI será accesible. Esto es crítico para el correcto funcionamiento de OAuth y los webhooks.WOODPECKER_RPC_SECRET: Genere un secreto aleatorio seguro (por ejemplo, usandoopenssl rand -hex 16o un generador en línea). Este secreto se utiliza para la autenticación de los agentes en el servidor.WOODPECKER_ADMIN: Especifique el nombre de usuario que será asignado automáticamente como administrador después del primer registro.- Integración con Git: Descomente y complete las variables para su sistema de control de versiones (GitHub, GitLab, Gitea). Deberá registrar una nueva aplicación OAuth en su sistema Git (por ejemplo, GitHub Settings -> Developer settings -> OAuth Apps) y especificar la URL de redirección (Callback URL) con el formato
https://your.woodpecker.domain/authorize. - Base de datos: Por defecto se utiliza SQLite, lo cual es adecuado para empezar. Para producción, considere PostgreSQL o MySQL. Si utiliza PostgreSQL, añada el servicio correspondiente en
docker-compose.ymly descomente las variablesWOODPECKER_DATABASE_DRIVERyWOODPECKER_DATABASE_DATASOURCE. Un ejemplo de integración con NocoDB en un VPS o Baserow en un VPS puede dar una idea de cómo trabajar con bases de datos en Docker, aunque Woodpecker las utiliza directamente. privileged: true: El agente de Woodpecker CI a menudo requiere acceso privilegiado al daemon de Docker para ejecutar compilaciones, especialmente si utiliza Docker-in-Docker u otras herramientas específicas.
Paso 2: Inicio de Woodpecker CI
Después de guardar el archivo docker-compose.yml, inicie los contenedores:
docker compose up -d
El comando -d significa iniciar en segundo plano (detached mode). Verifique el estado de los contenedores:
docker compose ps
Debería ver que ambos contenedores (woodpecker-server y woodpecker-agent) están en ejecución.
En esta etapa, Woodpecker CI estará disponible en http://your_vps_ip:8000. Sin embargo, para producción y el correcto funcionamiento con los proveedores de Git, es esencial configurar un proxy inverso con HTTPS.
Configuración de Reverse Proxy (Nginx/Caddy) y HTTPS para Woodpecker CI
Para garantizar la seguridad y el correcto funcionamiento de Woodpecker CI con servicios externos (como GitHub/GitLab OAuth), es necesario configurar un proxy inverso con soporte HTTPS. Consideraremos dos opciones populares: Nginx y Caddy.
Nginx como Reverse Proxy para Woodpecker CI
Nginx es un servidor web de alto rendimiento y proxy inverso. Si ya está instalado en su VPS, configurarlo será sencillo.
Paso 1: Instalación de Nginx
Si Nginx no está instalado:
sudo apt update
sudo apt install nginx -y
Inicie Nginx y añádalo al inicio automático:
sudo systemctl start nginx
sudo systemctl enable nginx
Paso 2: Configuración de Nginx
Cree un nuevo archivo de configuración para su dominio (por ejemplo, /etc/nginx/sites-available/woodpecker.conf):
sudo nano /etc/nginx/sites-available/woodpecker.conf
Pegue la siguiente configuración, reemplazando your.woodpecker.domain con su nombre de dominio:
server {
listen 80;
server_name your.woodpecker.domain;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900s; # Aumentar el tiempo de espera para compilaciones largas
}
}
Cree un enlace simbólico a este archivo en sites-enabled:
sudo ln -s /etc/nginx/sites-available/woodpecker.conf /etc/nginx/sites-enabled/
Verifique la configuración de Nginx y recárguelo:
sudo nginx -t
sudo systemctl reload nginx
Ahora Woodpecker CI debería ser accesible por HTTP a través de su nombre de dominio.
Paso 3: Configuración de HTTPS con Let's Encrypt (Certbot)
Para HTTPS, utilizaremos Certbot de Let's Encrypt. Instale Certbot:
sudo apt install certbot python3-certbot-nginx -y
Ejecute Certbot para configurar automáticamente Nginx y obtener un certificado:
sudo certbot --nginx -d your.woodpecker.domain
Certbot le hará algunas preguntas (correo electrónico, aceptación de términos). Después de una ejecución exitosa, actualizará automáticamente la configuración de Nginx, añadiendo HTTPS y la redirección de HTTP a HTTPS. Verifique su sitio en https://your.woodpecker.domain.
Caddy como Reverse Proxy para Woodpecker CI
Caddy es un servidor web moderno con soporte HTTPS automático (Let's Encrypt). Es fácil de configurar e ideal para estas tareas.
Paso 1: Instalación de Caddy
Siga la documentación oficial de Caddy para la instalación. Para Debian/Ubuntu:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Paso 2: Configuración de Caddyfile
Cree o edite el archivo /etc/caddy/Caddyfile:
sudo nano /etc/caddy/Caddyfile
Elimine el contenido existente y pegue lo siguiente, reemplazando your.woodpecker.domain con su nombre de dominio:
your.woodpecker.domain {
reverse_proxy localhost:8000 {
header_up X-Forwarded-Proto {scheme}
header_up X-Real-IP {remote_ip}
header_up Host {host}
}
# Aumentar el tiempo de espera para compilaciones largas, si es necesario
# transport http {
# read_timeout 15m
# }
}
Caddy obtendrá y renovará automáticamente los certificados de Let's Encrypt para su dominio.
Paso 3: Inicio de Caddy
Verifique la configuración de Caddy y reinícielo:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
Ahora Woodpecker CI debería ser accesible por HTTPS a través de su nombre de dominio. Vaya a https://your.woodpecker.domain, regístrese (si WOODPECKER_OPEN está configurado en true) y comience la integración con sus repositorios Git.
En esta etapa, la instalación de woodpecker ci está completa y el sistema está listo para funcionar.
Copias de seguridad y actualizaciones de Woodpecker CI
Las copias de seguridad regulares y las actualizaciones oportunas son cruciales para el funcionamiento estable y seguro de cualquier sistema self-hosted, incluyendo Woodpecker CI en un servidor.
Estrategia de copia de seguridad de Woodpecker CI
Woodpecker CI almacena sus datos en el directorio que montamos como volumen: ./woodpecker-data. Para la base de datos SQLite integrada, será el archivo woodpecker.sqlite. Si utiliza una base de datos externa (PostgreSQL/MySQL), también deberá asegurarse de que se realice una copia de seguridad. Además, es importante guardar los archivos de configuración de Docker Compose.
Qué necesita respaldar:
- Directorio de datos de Woodpecker CI (
~/woodpecker-ci/woodpecker-data/). - Archivo
docker-compose.yml. - Configuraciones del proxy inverso (Nginx:
/etc/nginx/sites-available/woodpecker.conf; Caddy:/etc/caddy/Caddyfile). - Certificados SSL/TLS (aunque Certbot puede restaurarlos).
Ejemplo de script para copia de seguridad:
Cree el script backup_woodpecker.sh:
#!/bin/bash
BACKUP_DIR="/var/backups/woodpecker_ci"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
WOODPECKER_ROOT_DIR="/root/woodpecker-ci" # O su ruta
mkdir -p $BACKUP_DIR/$TIMESTAMP
echo "Creando copia de seguridad de los datos de Woodpecker CI..."
cp -R $WOODPECKER_ROOT_DIR/woodpecker-data $BACKUP_DIR/$TIMESTAMP/
cp $WOODPECKER_ROOT_DIR/docker-compose.yml $BACKUP_DIR/$TIMESTAMP/
# Si usa Nginx
# cp /etc/nginx/sites-available/woodpecker.conf $BACKUP_DIR/$TIMESTAMP/
# cp -R /etc/letsencrypt/live/your.woodpecker.domain $BACKUP_DIR/$TIMESTAMP/certs/
# Si usa Caddy
# cp /etc/caddy/Caddyfile $BACKUP_DIR/$TIMESTAMP/
# cp -R /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.woodpecker.domain $BACKUP_DIR/$TIMESTAMP/certs/
# Si usa PostgreSQL
# docker exec your_postgres_container_name pg_dump -U your_postgres_user your_postgres_db > $BACKUP_DIR/$TIMESTAMP/woodpecker_postgres_dump.sql
echo "Comprimiendo copia de seguridad..."
tar -czvf $BACKUP_DIR/woodpecker_ci_backup_$TIMESTAMP.tar.gz -C $BACKUP_DIR $TIMESTAMP
rm -rf $BACKUP_DIR/$TIMESTAMP
echo "Copia de seguridad completada: $BACKUP_DIR/woodpecker_ci_backup_$TIMESTAMP.tar.gz"
# Eliminación de copias de seguridad antiguas (por ejemplo, más de 7 días)
find $BACKUP_DIR -name "woodpecker_ci_backup_*.tar.gz" -mtime +7 -delete
echo "Copias de seguridad antiguas eliminadas."
Haga el script ejecutable y añádalo a Cron para su ejecución diaria:
chmod +x backup_woodpecker.sh
(crontab -l; echo "0 3 * * * /root/woodpecker-ci/backup_woodpecker.sh") | crontab -
Considere la posibilidad de utilizar herramientas externas para copias de seguridad, como Restic, que describimos en el artículo Restic en un VPS: instalación, configuración y mantenimiento. Permite almacenar de forma segura y eficiente copias de seguridad cifradas en varios almacenamientos remotos.
Proceso de actualización de Woodpecker CI
La actualización de Woodpecker CI generalmente se reduce a la actualización de las imágenes Docker del servidor y del agente.
- Cree una copia de seguridad: Antes de cualquier actualización, siempre realice una copia de seguridad completa.
- Detenga los contenedores:
- Descargue las nuevas imágenes:
- Inicie los contenedores con las nuevas imágenes:
- Verifique los registros: Asegúrese de que todo se haya iniciado sin errores.
cd ~/woodpecker-ci
docker compose down
docker compose pull
docker compose up -d
docker compose logs -f
Revise regularmente el repositorio oficial de Woodpecker CI en GitHub para nuevas versiones y cambios importantes en la configuración.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
¿Qué configuración de VPS elegir para una carga de trabajo real de Woodpecker CI?
La elección del VPS óptimo para Woodpecker CI vps es un equilibrio entre costo y rendimiento. Pagar de más por recursos excesivos es ineficiente, pero la falta de recursos ralentizará las compilaciones y reducirá la productividad del equipo.
Evaluación de la carga y escalabilidad
La carga en Woodpecker CI se determina principalmente por:
- Cantidad de compilaciones paralelas: Cuantos más proyectos o ramas se compilen simultáneamente, más recursos se requieren.
- Intensidad de recursos de las compilaciones: La compilación de grandes proyectos en C++/Java, la ejecución de muchas pruebas, la construcción de imágenes Docker, todo esto requiere CPU, RAM y un disco rápido.
- Tamaño de los repositorios y artefactos: Afecta el espacio en disco y el ancho de banda de la red.
- Cantidad de agentes: Cada agente de Woodpecker CI es, en esencia, un host Docker para las compilaciones. Puede ejecutar varios agentes en un VPS potente o distribuirlos en varios servidores.
Consideremos escenarios típicos y configuraciones de VPS recomendadas por Valebyte.com:
| Escenario de uso | vCPU | RAM | NVMe SSD | Ancho de banda | Costo aproximado (Valebyte.com) |
|---|---|---|---|---|---|
| Personal/prueba (1-2 proyectos, 1-2 desarrolladores, compilaciones ocasionales) | 2 | 2 GB | 40 GB | 100 Mbps | desde $7-10/mes |
| Equipo pequeño (3-5 proyectos, 3-7 desarrolladores, 2-3 compilaciones paralelas) | 4 | 4 GB | 80 GB | 200 Mbps | desde $15-20/mes |
| Equipo mediano/varios equipos (5-15 proyectos, 8-20 desarrolladores, 4-8 compilaciones paralelas) | 6-8 | 8-16 GB | 160-320 GB | 500 Mbps - 1 Gbps | desde $30-60/mes |
| Empresa grande/CI de alta carga (más de 20 proyectos, más de 20 desarrolladores, más de 10 compilaciones paralelas) | 12-16+ | 32-64+ GB | 500 GB+ | 1 Gbps+ | desde $80-150+/mes (o servidor dedicado) |
Tarifas recomendadas de Valebyte.com
Para la mayoría de los usuarios que comienzan a trabajar con Woodpecker CI en un VPS, recomendamos empezar con un plan que ofrezca al menos 4 vCPU, 4 GB de RAM y 80 GB de NVMe SSD. Esto garantizará un trabajo cómodo para equipos pequeños y medianos, permitiendo ejecutar varias compilaciones en paralelo sin retrasos significativos.
Si gestiona otras herramientas en su VPS, como OpenProject en un VPS, Redmine en un VPS o Filebrowser en un VPS, asegúrese de tener en cuenta sus requisitos del sistema al elegir el plan. En tal caso, es posible que necesite un VPS más potente para garantizar el funcionamiento estable de todos los servicios.
Un factor clave es siempre el rendimiento del subsistema de disco. Los discos NVMe SSD que ofrece Valebyte.com son cruciales para el funcionamiento rápido de los contenedores Docker, la extracción de repositorios y el almacenamiento en caché de dependencias durante el proceso de compilación. Un alto ancho de banda de red también es importante para la descarga rápida de imágenes Docker, dependencias y la carga de artefactos.
El monitoreo de los recursos (CPU, RAM, I/O de disco) de su VPS le ayudará a entender cuándo es el momento de escalar. Si la CPU está constantemente cargada al 80-90% durante las compilaciones, o la entrada/salida del disco se convierte en un cuello de botella, es una señal clara para una actualización.
Conclusiones
Woodpecker CI en un VPS de Valebyte.com ofrece una solución potente, flexible y económica para automatizar los procesos CI/CD. Siguiendo las instrucciones detalladas de instalación, configuración del proxy inverso con HTTPS, e implementando estrategias de copia de seguridad y actualización, podrá crear una plataforma fiable y de alto rendimiento para su equipo de desarrollo.
¿Listo para elegir un servidor?
VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.
Empezar ahora →