Come Self-Ospitare Woodpecker CI su un VPS (Guida Completa)
Woodpecker CI è un sistema di integrazione continua e distribuzione continua (CI/CD) open-source. Ospitarlo autonomamente può semplificare il tuo pipeline di sviluppo, permettendoti di controllare il tuo ambiente. In questa guida, ti guideremo attraverso i passi per installare e configurare Woodpecker CI su un VPS utilizzando Docker.
Prerequisiti
- VPS: Scegli un fornitore di VPS. Ecco un confronto delle opzioni VPS popolari per ospitare il tuo Woodpecker CI:
| Fornitore VPS | Costo Mensile | RAM | CPU | Memoria |
|---|---|---|---|---|
| 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 |
Scegli un fornitore che corrisponda alle tue esigenze, considerando prestazioni e budget. Per un confronto dettagliato dei VPS, controlla il confronto completo dei VPS.
-
Sistema Operativo: Assicurati di utilizzare un sistema operativo adeguato, preferibilmente Ubuntu 20.04 o successivo.
-
Docker: Installa Docker sul tuo VPS.
Passo 1: Configurazione di Docker
Per installare Docker su Ubuntu, esegui i seguenti comandi:
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
Dopo l’installazione, verifica che Docker stia funzionando:
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
Passo 2: Installare Woodpecker CI
-
Scarica l’Immagine Docker di Woodpecker CI:
Usa il seguente comando per scaricare l’immagine di Woodpecker CI:
docker pull woodpeckerci/woodpecker
- Crea ed Esegui il Container di Woodpecker CI:
Ora che hai l’immagine, crea un container. Dovrai impostare varie variabili d’ambiente in base alla tua configurazione:
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
Modifica WOODPECKER_GITEA_SERVER e WOODPECKER_RPC_SECRET in base alla tua istanza Gitea o a qualsiasi altro servizio Git che stai utilizzando.
Passo 3: Configurare Woodpecker CI
-
Accesso all’Interfaccia Web: Apri il tuo browser e vai su
http://<your-vps-ip>:8000. Dovresti vedere l’interfaccia di Woodpecker CI. -
Registrare Webhook: Se utilizzi Gitea, assicurati di registrare webhook per collegare i tuoi repository con Woodpecker CI per attivare le build.
-
Integrare con Altri Servizi: A seconda delle esigenze del tuo progetto, integra notifiche o passi di distribuzione modificando
.woodpecker.yml.
FAQ
1. Quali sono i vantaggi di self-ospitare Woodpecker CI rispetto all’utilizzo di un’opzione SaaS?
Self-ospitare Woodpecker CI offre il controllo completo sul tuo ambiente di build, permettendoti di personalizzare le configurazioni in base alle esigenze del progetto. Puoi evitare le limitazioni imposte dai servizi di terze parti, come le quote di tempo di build e la mancanza di accesso ai log del codice sorgente. Inoltre, il self-hosting migliora la privacy, poiché il tuo codice e i tuoi dati rimangono all’interno della tua infrastruttura.
2. Posso scalare la mia istanza di Woodpecker CI in base alla domanda di traffico?
Sì, uno dei principali vantaggi dell’uso di Docker è la scalabilità . Se noti picchi nell’utilizzo di CI/CD, puoi adattare il numero di istanze di Woodpecker CI o allocare risorse aggiuntive al tuo VPS. Considera di utilizzare strumenti di orchestrazione di container come Kubernetes o Docker Compose per gestire più istanze e scalare efficacemente.
3. Come funzionano backup e ripristino quando self-ospito Woodpecker CI?
Assicurati di effettuare regolari backup della tua cartella dati di Woodpecker CI (/var/lib/woodpecker) per evitare la perdita di dati. Usa le soluzioni di backup del tuo fornitore VPS o script di archiviazione regolare tar della directory dei dati di Woodpecker. In caso di corruzione o perdita di dati, basta ripristinare i dati salvati nella stessa directory e riavviare il container di Woodpecker CI.
Seguendo questi passaggi, dovresti avere un’istanza di Woodpecker CI completamente funzionale in esecuzione sul tuo VPS. Questa configurazione consente processi di sviluppo più efficienti, adattati alle tue esigenze uniche.