quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Applications et add-ons

English · Type : procédure · Public : administrateur · Contexte : Studio hébergé · Statut : prête · S'applique depuis : 4.2.3

Le Studio Server (Studio d'équipe hébergé) · contrat : expérimental · vérifié par la CI (matrice de support de la 4.4.0, 2026-10-23) : Postgres, S3 et Keycloak en CI ; Chromium et Firefox (job studio-hosted) ; WebKit sous macOS, à la main seulement · vérifications automatiques : jobs studio-hosted, studio-install-smoke ; plan de CI studioHosted ; 3 fichiers de tests · passes humaines : studio-hosted pas faite (#149), studio-collab pas faite (#150), studio-preview pas faite (#166), studio-assets-hosted pas faite (#167), studio-mcp-remote pas faite (#196), studio-oidc-generic pas faite (#197) · limites connues : aucune listée sur cette page

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

Prérequis

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.

Mesure · dev-plan-connections Sur le plan DEV, chaque redéploiement a fait échouer le travail de fond des instances sur « too many connections » (leases-read-failed, reconcile-failed, ship-failed), et une écriture servie par l’ancienne instance a reçu un 500 (« too many connections for role … ») avant de passer au réessai. Le travail de fond a repris seul.

  • date: 2026-10-19
  • version: 4.2.2
  • volume: trois redéploiements de l’application studio, une sonde qui écrit une note toutes les 3 s
  • conditions: organisation Clever Cloud de test, région par ; application studio XS, une instance ; PostgreSQL plan DEV (5 connexions) ; moteur aux commits c66fbf56 puis dd66b38d sur main avant le tag 4.2.3 (package.json disait 4.2.2)
  • source: QUALIF-4.2.3-REFERENCE.md §5 et §5 bis

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

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

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


Modifier la source de cette page · Signaler une erreur