Aller au contenu
quest'n'click

Clever CloudGuidePour adminsS'applique de 4.2.3

Applications et add-ons

This page in EnglishCette page sur le wiki GitHub

La première étape d’un Studio hébergé sur Clever Cloud : les deux applications Node.js, les add-ons PostgreSQL et Cellar, le bucket, et leurs liens, avec clever-tools.

Ce que vous obtenez

Deux applications Node.js, my-game-studio et my-game-worker, liées toutes deux au dossier de votre dépôt du moteur sous un alias ; un add-on PostgreSQL et un add-on Cellar avec un bucket, liés à l’application studio seulement ; l’application studio tenue à une seule instance. Rien n’est encore déployé.

Contexte et versions

  • Un Studio hébergé (le Studio Server) sur Clever Cloud, déployé depuis le dépôt du moteur. À partir de la 4.2.3 (le hook de build du worker est arrivé en 4.2.2, la sauvegarde quotidienne en 4.2.3).
  • Vérifié sur : non vérifié sur une installation réelle pour cette page. Le déploiement de référence du 19 octobre 2026 a tourné sur des applications et des add-ons de ce genre (deux applications Node.js de taille XS, PostgreSQL DEV, Cellar S), mais ils avaient été créés pour le spike S le 17 octobre 2026 puis réutilisés ; personne n’a rejoué les commandes de cette page depuis une organisation vide.

Prérequis

  • Une organisation Clever Cloud, et clever-tools installé et connecté (clever login).
  • Le dépôt du moteur cloné sur votre machine, à la version que vous allez déployer.
  • La vue d’ensemble, pour savoir à quoi sert chaque partie.

Où lancer les commandes

Sur votre machine, dans le dossier du dépôt du moteur : clever link y écrit .clever.json, et clever deploy poussera ensuite le commit de ce dossier. Tenez .clever.json hors de Git.

Étapes

  1. Créez les deux applications et les deux add-ons, liez les add-ons à l’application studio seulement, et tenez le studio à une instance :

    # sur votre machine, dans le dépôt du moteur
    clever create --type node my-game-studio
    clever create --type node my-game-worker
    clever addon create postgresql-addon my-game-pg --plan dev      # 5 connexions : juste (le serveur en garde 4) ; plus pour une équipe
    clever addon create cellar-addon my-game-cellar
    clever service link-addon my-game-pg --app my-game-studio
    clever service link-addon my-game-cellar --app my-game-studio
    clever scale --min-instances 1 --max-instances 1 --app my-game-studio

    Ne liez jamais les add-ons au worker. Le worker ne détient ni mot de passe, ni clé, ni accès à la base : il ne lit et n’écrit que par les URL présignées qu’un job lui donne (ADR 0028).

  1. Créez le bucket dans Cellar, avec sa console ou n’importe quel outil S3 (les identifiants de l’add-on Cellar). Son nom va dans le blobs.bucket de la configuration (Configuration).
  1. Les deux applications se construisent depuis la racine du dépôt : laissez APP_FOLDER vide. Une application qui a porté un autre projet peut encore en avoir un :

    # sur votre machine, dans le dépôt du moteur
    clever env rm APP_FOLDER --app my-game-studio
    clever env rm APP_FOLDER --app my-game-worker
  1. clever deploy et clever ssh agissent sur une application liée dans le dossier d’où on les lance (clever-tools 4 n’a pas de --app pour deploy). Liez les deux une fois, chacune sous un alias :

    # sur votre machine, dans le dépôt du moteur
    clever link <studio-app-id> --alias my-game-studio
    clever link <worker-app-id> --alias my-game-worker

Dimensionner PostgreSQL pour le chevauchement d’un redéploiement

Un redéploiement démarre la nouvelle instance pendant que l’ancienne sert encore, plusieurs minutes durant (Redéploiements). Les deux tiennent des connexions pendant ce temps : deux fois le nombre habituel. Le plan DEV permet 5 connexions et le serveur garde un pool de 4 : un redéploiement le dépasse.

Pour un déploiement dont on se sert, prenez un plan PostgreSQL avec plus de connexions que DEV. Ce projet n’a pas mesuré quel plan suffit : comptez environ 4 connexions par instance, deux instances pendant un redéploiement, plus celles que vous ouvrez vous-même (psql ; un exercice de restauration utilise son propre add-on).

Résultat attendu, et comment le vérifier

  • clever applications (dans le dossier du dépôt) liste les deux alias.

  • clever addon liste les deux add-ons ; clever service --app my-game-studio les montre liés à l’application studio, et la même commande pour le worker n’en montre aucun.

  • clever env --app my-game-studio contient POSTGRESQL_ADDON_URI et CELLAR_ADDON_KEY_ID. Cette commande affiche les valeurs, y compris celles sur plusieurs lignes : filtrez-la sur les noms avant de la montrer ou de la coller où que ce soit. Ce filtre ne garde que ce qui précède le premier = des lignes qui commencent par un nom de variable :

    # sur votre machine, dans le dépôt du moteur
    clever env --app my-game-studio | grep -oE '^[A-Z][A-Z0-9_]*='

Erreurs fréquentes

SymptômeCauseCorrection
clever deploy déploie la mauvaise application, ou demande laquellePlusieurs applications liées, aucun alias donnéclever deploy --alias my-game-studio
Le build cherche un package.json dans un sous-dossierUn APP_FOLDER resté d’un autre projetclever env rm APP_FOLDER sur cette application
Le worker a POSTGRESQL_ADDON_URIUn add-on lié au workerclever service unlink-addon <addon-id> --app my-game-worker
« too many connections » dans les journaux pendant un déploiementPlan PostgreSQL DEVUn plan plus grand (plus haut)

Fichiers ou données modifiés

  • .clever.json dans le dossier du dépôt (les liens et les alias) : tenez-le hors de Git.
  • Chez Clever Cloud : deux applications, deux add-ons, un bucket. Ils sont facturés dès leur création.

Reprise ou retour arrière

Rien ne contient encore de données. Supprimez ce que vous avez créé avec clever addon delete et clever delete (Coûts et démontage).

Références