Guides

GitHub Actions sans l'app

Construisez et déployez depuis votre propre workflow, avec la CLI Vercel.

Vous préférez garder la main sur votre workflow, ou vous utilisez une autre CI ? L'app GitHub n'est pas nécessaire.

  1. Reliez le dossier au projet

    Un premier vercel deploy en local crée .vercel/project.json. Il contient orgId et projectId.

    .vercel/project.json
    { "orgId": "…", "projectId": "…" }
  2. Ajoutez les secrets au dépôt

    Dans Settings → Secrets and variables → Actions du dépôt : VERCEL_TOKEN (une clé d'API ah_…), VERCEL_ORG_ID et VERCEL_PROJECT_ID.

  3. Ajoutez le workflow

    La CLI lit VERCEL_TOKEN, VERCEL_ORG_ID et VERCEL_PROJECT_ID dans l'environnement : la clé n'apparaît jamais dans la ligne de commande.

.github/workflows/deploy.yml
name: Déploiement

on:
  push:
    branches: [main]
  pull_request:

permissions:
  contents: read

env:
  VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
  VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
  API: https://api.host.hgdc.ch

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
        with:
          node-version: 24
      - run: npm install --global vercel@63
      - name: Production
        if: 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: Preview
        if: github.ref != 'refs/heads/main'
        run: |
          vercel pull --yes --environment=preview --api "$API"
          vercel build --api "$API"
          vercel deploy --prebuilt --api "$API"

Avec l'app GitHub, le déploiement apparaît dès le début du build avec ses logs en direct. Sans elle, il apparaît à l'envoi. Voir Déployer depuis GitHub.