Guides
Déployer avec GitHub Actions, sans l'application
Écris ton propre workflow avec la CLI Vercel, sans passer par l'app GitHub de Host.
Tu préfères garder la main sur ton workflow, ou tu utilises une autre CI ? L’app GitHub n’est pas nécessaire : la CLI suffit. Ce guide met en place un workflow qui construit et déploie à chaque push.
Résultat attendu : un push sur la branche principale publie en production, et un push sur une autre branche publie une preview.
Ce que tu perds par rapport à l’app : le déploiement n’apparaît dans Host qu’à l’envoi, sans sortie de build en direct, et le statut du commit n’est pas mis à jour.
Relier le dossier au projet
Lance un premier déploiement en local
Depuis le dossier du projet, avec ta clé d’organisation :
export VERCEL_TOKEN=ah_…vercel --api https://api.host.hgdc.ch deploy --yesLa commande crée
.vercel/project.json, qui contientorgIdetprojectId.Vérification : le fichier
.vercel/project.jsonexiste, et le projet apparaît dans Host.Ajoute les secrets au dépôt
Dans le dépôt GitHub, ouvre Settings → Secrets and variables → Actions et crée trois secrets :
Secret Valeur VERCEL_TOKENUne clé d’API ah_…d’organisationVERCEL_ORG_IDLa valeur orgIdde.vercel/project.jsonVERCEL_PROJECT_IDLa valeur projectIdde.vercel/project.jsonNe mets ni la clé ni les identifiants dans le fichier de workflow.
Ajoute le workflow
Crée
.github/workflows/deploy.yml:name: Déploiementon:push:branches: [main]pull_request:permissions:contents: readenv:VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}API: https://api.host.hgdc.chjobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v7- uses: actions/setup-node@v7with:node-version: 24- run: npm install --global vercel@63- name: Productionif: github.ref == 'refs/heads/main'run: |vercel pull --yes --environment=production --api "$API"vercel build --prod --api "$API"vercel deploy --prebuilt --prod --api "$API"- name: Previewif: github.ref != 'refs/heads/main'run: |vercel pull --yes --environment=preview --api "$API"vercel build --api "$API"vercel deploy --prebuilt --api "$API"La CLI lit
VERCEL_TOKEN,VERCEL_ORG_IDetVERCEL_PROJECT_IDdans l’environnement. Le projet n’a pas besoin d’un dossier.verceldans le dépôt.Adapte
node-versionà la version de Node.js de ton projet. Pour un site qui n’a pas de build, supprime les étapesvercel build.Vérification : le run Déploiement apparaît dans l’onglet Actions, et son job se termine en vert. Le déploiement apparaît dans le projet Host.
Variables sensibles
Une variable sensible n’est livrée qu’à une clé limitée au projet, celle que pose l’app GitHub. Avec une clé d’organisation, vercel pull ne la récupère pas.
Si ton build a besoin d’un secret, passe-le par un secret du dépôt, puis expose-le au build avec env:. Ne le mets pas dans une variable publique du projet. Voir Secrets et coffre.
Si ça ne marche pas
- Le job échoue sur
vercel pullavec un403: la cléVERCEL_TOKENest mal copiée ou révoquée. Voir Dépannage. - Le job tourne, mais aucun déploiement n’apparaît : vérifie que
VERCEL_PROJECT_IDetVERCEL_ORG_IDviennent bien de.vercel/project.json.
Cette page t'a aidé ?
Merci, c'est noté.