Initialiser un projet
Dans le dossier de votre projet :laravel si composer.json+artisan
sont présents, react si package.json seul, static sinon), vous fait choisir le service et
le domaine, et génère un fichier .kennhosting.yml (sans secrets — à committer).
Exemple (Laravel) :
Premier déploiement
- Laravel : clone le dépôt sur le serveur (via un dossier temporaire fusionné dans le
docroot, pour préserver les fichiers que cPanel y place déjà —
.well-known, requis par AutoSSL) et prépare le docroot. - React / static : aucun clone — équivalent à
kennhosting deploy(le serveur n’héberge jamais le code source, seulement le build). Les deux commandes existent pour la cohérence de l’interface, mais font la même chose pour ces types.
Déploiements suivants
- Laravel :
git pullsur le serveur, upload des assets pré-buildés localement, composer, migrations (si activées), cache Laravel, redémarrage des workers de queue. - React : build local (
build.assets.command), puis upload direct deoutput_dirdans le docroot — l’ancien contenu est remplacé (pas fusionné), sauf les entrées gérées par cPanel (.well-known,cgi-bin). - static : pas de build, upload direct de
output_dir(racine du projet par défaut) dans le docroot, même logique de remplacement.
| Flag | Effet |
|---|---|
-y / --yes | Pas de confirmation (CI) |
--plain | Sortie texte (pas de TUI) |
--skip-hooks | Ignore pre/post deploy (Laravel uniquement) |
-e production | Environnement cible |
CI ou pas de TTY), le CLI bascule automatiquement en mode texte.
Assets frontend
Pour un projet Laravel avecbuild.assets.enabled: true, le CLI :
- Exécute la commande de build en local
- Vérifie
output_dir(ex.public/build) - Upload les artefacts après
git pullsur le serveur
public/build est gitignoré. Pour React, ce même mécanisme est le
déploiement entier (pas de git pull séparé) — voir “Déploiements suivants” ci-dessus.
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:deploysur Espace développeur - Domaine introuvable : le domaine doit être attaché au service dans le panel
- Build assets échoue : testez
npm run buildlocalement avantkennhosting deploy