# Woodpecker CI pour une petite agence qui veut garder la main sur son code

> Un moteur de CI léger et auto-hébergé convient à une petite équipe qui veut garder le contrôle de son infrastructure sans la lourdeur d'un outil plus ancien.

- Auteur : Clément Hadrot
- Publié le : 2026-07-30
- Mis à jour le : 2026-07-30
- Catégorie : Outils &amp; workflow
- URL : https://wpmoderne.dev.wordpress-developpement.fr/outils/woodpecker-ci-petite-agence-controle/

## L’essentiel

- Woodpecker s'installe en quelques minutes avec des besoins matériels modestes
- Ses fichiers de configuration YAML restent proches de ceux des plateformes gérées
- Son écosystème de plugins est plus restreint que celui des solutions plus établies

Comparé à un moteur de CI auto-hébergé plus ancien, déjà connu et éprouvé, Woodpecker propose une promesse simple : la même logique de pipelines déclaratifs en YAML, mais avec une base de code plus légère et une configuration nettement plus rapide à mettre en route. Cette promesse méritait d'être vérifiée concrètement, pour une petite agence de quatre personnes qui souhaitait reprendre la main sur son infrastructure d'intégration continue sans réintroduire la complexité qu'un précédent outil plus lourd avait laissée derrière lui.

Cet article ne traite pas de la migration d'un historique de projets existant depuis une plateforme gérée, un sujet distinct, mais uniquement de l'installation et de l'usage quotidien de Woodpecker sur des projets démarrés directement dessus.

## Installation et empreinte matérielle

Woodpecker s'installe via une paire de conteneurs, le serveur central et un ou plusieurs agents d'exécution, orchestrés simplement avec Docker Compose. Sur une machine virtuelle modeste de deux processeurs virtuels, l'instance complète, serveur et un agent, consomme environ cinq cent douze mégaoctets de mémoire vive au repos, un chiffre nettement inférieur à ce qu'exigeait le précédent outil pour un usage comparable.

```
version: "3"
services:
  serveur:
    image: woodpeckerci/woodpecker-server:v2
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_HOST=https://ci.agence-interne.example
    ports:
      - "8000:8000"
  agent:
    image: woodpeckerci/woodpecker-agent:v2
    depends_on:
      - serveur
    environment:
      - WOODPECKER_SERVER=serveur:9000
```

L'authentification s'appuie directement sur le compte de la forge Git déjà utilisée par l'agence, sans nécessiter de créer un système de comptes distinct pour l'outil de CI lui-même.

## Comparatif face à l'ancienne solution

> L'essentiel à retenir : Woodpecker s'installe en quelques minutes avec des besoins matériels modestes ; Ses fichiers de configuration YAML restent proches de ceux des plateformes gérées ; Son écosystème de plugins est plus restreint que celui des solutions plus établies

| Critère | Ancien moteur de CI auto-hébergé | Woodpecker CI |
| --- | --- | --- |
| Empreinte mémoire au repos | Environ 2 Go | Environ 512 Mo |
| Format de configuration | YAML propriétaire | YAML proche de Docker Compose |
| Écosystème de plugins | Large, très mature | Plus restreint, en croissance |
| Fréquence des mises à jour | Ralentie ces dernières années | Régulière |

Le format de configuration, très proche d'un fichier Docker Compose classique, a réduit sensiblement le temps d'appropriation par l'équipe, déjà familière avec cette syntaxe pour ses environnements de développement local.

## Un exemple de pipeline pour un projet WordPress

```
steps:
  tests:
    image: php:8.3-cli
    commands:
      - composer install --no-interaction
      - vendor/bin/phpunit

  deploiement:
    image: alpine
    commands:
      - apk add --no-cache openssh-client rsync
      - rsync -avz -e "ssh -i $SSH_KEY" ./dist/ utilisateur@serveur:/var/www/site/
    when:
      branch: main
```

Cette structure reste très lisible, chaque étape correspondant à un conteneur distinct, une approche qui simplifie le débogage puisqu'une étape en échec peut être rejouée isolément, sans dépendre de l'état des étapes précédentes dans la même image.

## Là où Woodpecker montre ses limites

L'écosystème de greffons disponibles reste nettement plus restreint que celui de solutions plus établies, ce qui a obligé l'équipe à écrire elle-même certaines intégrations, notamment la notification vers son canal de discussion interne, disponible en quelques clics ailleurs mais nécessitant ici un script maison de quelques lignes. La documentation, bien que correcte sur les cas courants, reste parfois incomplète sur des scénarios plus avancés, ce qui a demandé de consulter directement le code source du projet à deux reprises pour éclaircir un comportement inattendu.

## Notre verdict

Pour une petite équipe qui privilégie la légèreté et le contrôle total de son infrastructure de CI, Woodpecker tient largement sa promesse, avec une empreinte matérielle réduite et une configuration proche de ce que l'équipe pratiquait déjà par ailleurs. Une équipe plus grande, dépendante d'intégrations spécifiques déjà disponibles ailleurs, devra en revanche accepter d'écrire elle-même certains greffons manquants, un coût à mettre en balance avec le gain obtenu en légèreté et en simplicité d'exploitation.
