Logo de Cecil Cecil
Sur cette page

Déployer

Par défaut, votre site statique est généré dans le répertoire _site et peut être déployé tel quel.

Vous trouverez ci-dessous quelques recettes pour automatiser la génération et/ou le déploiement d’un site statique.

Plateformes Jamstack

Netlify

Une puissante plateforme serverless avec un flux de travail intuitif basé sur Git. Déploiements automatisés, aperçus partageables, et bien plus encore.

➡️ https://www.netlify.com

netlify.toml:

[build]
  publish = "_site"
  command = "curl -sSOL https://cecil.app/build.sh && bash ./build.sh"

[context.production.environment]
  CECIL_ENV = "production"

[context.deploy-preview.environment]
  CECIL_ENV = "preview"

Documentation officielle

Vercel

Vercel associe une excellente expérience développeur à une attention obsessionnelle portée aux performances côté utilisateur final.

➡️ https://vercel.com

vercel.json:

{
  "buildCommand": "curl -sSOL https://cecil.app/build.sh && bash ./build.sh",
  "outputDirectory": "_site"
}

Documentation officielle

statichost

Hébergement moderne de sites statiques avec des serveurs européens et absolument aucune collecte de données personnelles !

➡️ https://statichost.eu

statichost.yml:

image: wordpress:cli-php8.4
command: curl -sSOL https://cecil.app/build.sh && bash ./build.sh
public: _site

Documentation officielle

Cloudflare Pages

Cloudflare Pages est une plateforme JAMstack qui permet aux développeurs frontend de collaborer et de déployer des sites web.

➡️ https://pages.cloudflare.com

Configurations de build :

  • Préréglage de framework : None
  • Commande de build : curl -sSOL https://cecil.app/build.sh && bash ./build.sh
  • Répertoire de sortie du build : _site

Documentation officielle

Render

Render est un cloud unifié pour créer et exécuter toutes vos applications et tous vos sites web, avec certificats TLS gratuits, CDN global, réseaux privés et déploiements automatiques depuis Git.

➡️ https://render.com

render.yaml:

previewsEnabled: true
services:
  - type: web
    name: Cecil
    env: static
    buildCommand: curl -sSOL https://cecil.app/build.sh && bash ./build.sh
    staticPublishPath: _site
    pullRequestPreviewsEnabled: true

Documentation officielle

Build et déploiement continus

GitHub Pages

Des sites web pour vous et vos projets, hébergés directement depuis votre dépôt GitHub. Il suffit de modifier, pousser, et vos changements sont en ligne.

➡️ https://pages.github.com

.github/workflows/build-and-deploy.yml:

name: Build and deploy to GitHub Pages

on:
  push:
    branches: [master, main]
  workflow_dispatch:

concurrency:
  group: pages
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v4
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: pre-installed
          extensions: mbstring, fileinfo, gd, imagick, intl, gettext
      - name: Restore Cecil cache
        uses: actions/cache/restore@v4
        with:
          path: ./.cache
          key: cecil-cache-
          restore-keys: |
            cecil-cache-
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5
      - name: Build with Cecil
        uses: Cecilapp/Cecil-Action@v3
        with:
          args: '-v --baseurl="${{ steps.pages.outputs.base_url }}/"'
      - name: Save Cecil cache
        uses: actions/cache/save@v4
        with:
          path: ./.cache
          key: cecil-cache-${{ hashFiles('./.cache/**/*') }}
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3

  deploy:
    needs: build
    permissions:
      pages: write
      id-token: write
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

Documentation officielle

GitLab CI

Avec GitLab Pages, vous pouvez publier des sites web statiques directement depuis un dépôt GitLab.

➡️ https://about.gitlab.com/solutions/continuous-integration/

.gitlab-ci.yml:

image: wordpress:cli-php8.4

test:
  stage: test
  variables:
    CECIL_OUTPUT_DIR: test
  script:
    - curl -sSOL https://cecil.app/build.sh && bash ./build.sh
  artifacts:
    paths:
     - test
  except:
   - master

pages:
  stage: deploy
  variables:
    CECIL_ENV: production
    CECIL_OUTPUT_DIR: public
  script:
    - curl -sSOL https://cecil.app/build.sh && bash ./build.sh
  artifacts:
    paths:
      - public
  only:
    - master

cache:
  paths:
    - composer-cache/
    - vendor/
    - .cache/

Documentation officielle

Hébergement statique

Surge

Publier des projets web doit être rapide, simple et peu risqué. Surge est un service de publication de sites statiques pour les développeurs frontend, directement depuis la CLI.

➡️ https://surge.sh

Terminal:

npm install -g surge
surge _site/

Documentation officielle