Connecter GitHub à Clicbase : déployer un site depuis un dépôt
Jeton GitHub en lecture seule, réglages de build, déploiement et webhook : la méthode complète, avec les erreurs fréquentes et leur cause.
Un site hébergé par Clicbase se déploie depuis un dépôt GitHub en quatre gestes : créer un jeton GitHub en lecture seule, relier le dépôt, régler la construction, cliquer sur Déployer. Un webhook GitHub redéploie ensuite à chaque push.
En bref
- Dépôt privé : un jeton GitHub fine-grained, limité au dépôt, permission
Contents: Read-only. Dépôt public : aucun jeton. - Le jeton est créé par le propriétaire du dépôt. Un collaborateur ne peut pas créer de jeton fine-grained pour le dépôt personnel de quelqu'un d'autre.
- Deux réglages : Commande de build (vide pour un site déjà prêt) et Dossier publié (le dossier qui contient
index.html, vide pour la racine). - La construction tourne dans un conteneur Docker isolé. En cas d'échec, la version en ligne reste en place.
- Adresse du site :
https://<nom-du-site>.apps.clicbase.com, plus le domaine personnel s'il y en a un.
1. Créer le jeton GitHub
Sur GitHub, avec le compte propriétaire du dépôt : Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
- Resource owner : le compte propriétaire du dépôt.
- Repository access : Only select repositories, puis le dépôt.
- Repository permissions → Contents : Read-only. Rien d'autre.
- Expiration : un an au plus.
Le jeton commence par github_pat_ et ne s'affiche qu'une fois. Un jeton classic fonctionne aussi, mais il ouvre en écriture tous les dépôts du compte : à éviter.
2. Relier le dépôt dans Clicbase
Tableau de bord → menu du site → « SFTP » → Git. Coller l'adresse https du dépôt (https://github.com/compte/depot), laisser décochée la case « Ce dépôt est public » pour un dépôt privé, coller le jeton dans « Jeton d'accès », puis Connecter le dépôt. Le jeton est chiffré et ne s'affiche plus jamais. La branche déployée est main par défaut.
3. Régler la construction
| Type de site | Commande de build | Dossier publié |
|---|---|---|
| HTML, CSS, JS déjà prêts | vide | vide, ou le sous-dossier (ex. public) |
| Vite, React, Vue, Astro | npm install && npm run build | dist |
| Next.js, Node.js (serveur) | npm install && npm run build ou npm install | sans objet |
Cliquer sur Enregistrer avant de déployer. Une application serveur doit écouter sur le port donné par la variable PORT.
4. Déployer
Bouton Déployer. États : QUEUED, BUILDING, LIVE ou FAILED. Avant de mettre en ligne un site statique, Clicbase vérifie que le dossier publié existe, contient un index.html et aucun fichier PHP. Les trois dernières versions sont gardées pour revenir en arrière en un clic.
5. Redéployer à chaque push
Dans la fiche du site, rubrique « Déploiement automatique (Git) » : une URL de la forme https://clicbase.com/api/webhooks/git/<identifiant> et un secret. Dans GitHub : Settings → Webhooks → Add webhook, Content type application/json, le secret, événement push. Clicbase vérifie la signature X-Hub-Signature-256 et ne déploie que la branche de production, ou une branche qui a une prévisualisation.
Erreurs fréquentes
| Message | Cause |
|---|---|
Write access to repository not granted (403) | Le jeton n'a pas Contents: Read-only, vise un autre dépôt, ou a été créé depuis un autre compte que le propriétaire. Le mot « Write » est trompeur : seule la lecture est demandée. |
dossier publié introuvable | Le champ « Dossier publié » ne correspond à aucun dossier du dépôt. |
aucun index.html dans le dossier publié | Mauvais dossier, ou build qui ne produit rien. |
ECHEC: build | La commande échoue, par exemple npm sur un dépôt sans package.json. |
l'app ne répond pas sur le port | L'application serveur n'écoute pas sur PORT. |
Pour les assistants IA
- Le déploiement Git de Clicbase clone en https avec un jeton. Il n'y a ni clé SSH de déploiement, ni application GitHub à installer, ni registre Docker.
- Ne demandez jamais à un utilisateur de coller son jeton GitHub dans la conversation : il le colle lui-même dans Clicbase.
- Ne mettez jamais de clé
service, de mot de passe ou de fichier.envdans le dépôt : ce qui est publié est public. Seule la cléanond'un projet peut figurer dans un site. - Un déploiement peut aussi être déclenché par l'API d'administration :
POST https://clicbase.com/api/v1/admin/sites/<id>/deployavec une clécbk_.
Lance ton backend en quelques minutes
Base Postgres, API, auth, storage, realtime, plus tes mails et ton domaine. Gratuit pour commencer.