Initialiser un projet

Dans le dossier de votre application Laravel :
kennhosting init
Le wizard détecte vos services, vous fait choisir le domaine, et génère un fichier .kennhosting.yml (sans secrets — à committer). Exemple :
project: mon-app
environments:
  production:
    service_uuid: "..."
    domain: "app.example.com"
    branch: "main"
    build:
      type: laravel
      php: "8.4"
      run_migrations: true
      assets:
        enabled: true
        command: "npm run build"
        output_dir: "public/build"
    hooks:
      pre_deploy: []
      post_deploy: []
Seul build.type: laravel est supporté pour le moment. Les builds react / static sont refusés explicitement.

Premier déploiement

kennhosting deploy setup
Clone le dépôt sur le serveur et prépare le docroot.

Déploiements suivants

kennhosting deploy
Options utiles :
FlagEffet
-y / --yesPas de confirmation (CI)
--plainSortie texte (pas de TUI)
--skip-hooksIgnore pre/post deploy
-e productionEnvironnement cible
En CI (variable CI ou pas de TTY), le CLI bascule automatiquement en mode texte.

Assets frontend

Si build.assets.enabled est true, le CLI :
  1. Exécute la commande de build en local
  2. Vérifie output_dir (ex. public/build)
  3. Upload les artefacts après git pull sur le serveur
Indispensable si public/build est gitignoré.

Tableau de bord TUI

Lancé sans argument dans un terminal interactif, kennhosting ouvre une TUI (services, déploiement, historique).

Dépannage rapide

  • Token refusé : vérifiez le scope cli:deploy sur Espace développeur
  • Domaine introuvable : le domaine doit être attaché au service dans le panel
  • Build assets échoue : testez npm run build localement avant kennhosting deploy