zetapush / zetapush-next-open-specification

Open specification for Next ZetaPush version
0 stars 0 forks source link

CLI : Les différentes commandes #49

Closed damienld22 closed 6 years ago

damienld22 commented 6 years ago

Objectif

Spécifier les différentes commandes que nous pouvons utiliser avec la CLI (new, push, run ...). Le but n'est pas de décrire en détails chaque commande, ni de tout développer ce qui aura été spécifié ci-dessous. (priorisation)

L'objectif est d'avoir une vue d'ensemble sur les différentes commandes et de se mettre d'accord sur le fonctionnel que nous voulons apporter avec la CLI

Précisions

L'utilisation de la CLI est bien-sûr optionnelle, en revanche elle est très utile pour l'expérience de développement. Dans chaque cas d'usage il sera bien-sûr possible de se passer de la CLI.

Pour certains cas d'usage, des éléments techniques seront présentés, seulement dans le but de bien comprendre le raisonnement apporté.

Commandes

zeta init

Initialisation d'un projet Celtia dans le cas où le développeur a déjà déjà un projet existant ou non.

Lors de la création de l'application, une sandbox est créée. Suite à ça, la CLI se charge de déployer un service de Queue pour permettre le déploiement de services en temps réel.

zeta new

Création d'une application d'exemple pour le développeur

À suivre l'évolution de la commande npm init : En effet, cette commande pourra par le futur créer un code d'exemple en lançant seulement npm init @zetapush par exemple.

zeta push

Déploiement du code du développeur

zeta run

Lancement en local du code back

zeta nuke

Suppression d'une application

À discuter

Un point que je voudrais soulever est la récupération d'une application déjà créée par un développeur de mon équipe. Par exemple une application est déjà en cours de développement et je viens d'arriver sur le projet. Pour récupérer le projet en son état actuel, comment est-ce que ça se passe ?

Voici ma proposition : La nouveau développeur récupère le code via git par exemple. Suite à ça, il peut dans son application lancer zeta init. À ce moment là le développeur est prêt à travailler.

Une issue sera créée pour chaque commande

raphael22 commented 6 years ago

+1 pour le zeta init dans le cas d'un projet existant.

ghoullier commented 6 years ago

Séquence des appels

From scratch

npm init @zetapush
zeta init # Commande optionnelle, si l'init n'est pas présent, il est fait automatiquement par le commande zeta run
zeta run
npm init @zetapush
zeta init # Commande optionnelle, si l'init n'est pas présent, il est fait automatiquement par le commande zeta push
zeta push

From existing

zeta init # Commande optionnelle, si l'init n'est pas présent, il est fait automatiquement par le commande zeta run
zeta run
zeta init # Commande optionnelle, si l'init n'est pas présent, il est fait automatiquement par le commande zeta push
zeta push
damienld22 commented 6 years ago

Nouvelle version prenant en compte les différentes remarques

Commandes

zeta init #50

Initialisation d'un projet Celtia dans le cas où le développeur a déjà déjà un projet existant ou non.

Lors de la création de l'application, une sandbox est créée. Suite à ça, la CLI se charge de déployer un service de Queue pour permettre le déploiement de services en temps réel.

zeta new #51

Création d'une application d'exemple pour le développeur

À suivre l'évolution de la commande npm init : En effet, cette commande pourra par le futur créer un code d'exemple en lançant seulement npm init @zetapush par exemple.

zeta push #52

Déploiement du code du développeur

zeta run #53

Lancement en local du code back

damienld22 commented 6 years ago

Voici l'évolution de chaque commande de la CLI :

zeta init → register

Rend zetapush utilisable dans mon projet Sauvegarde quelquepart les informations de connection à ZetaPush

zeta new → npm init @zetapush

Créé l’ensemble de l’arboresence pour presenter une application simple zetapush front+worker

zeta push

Déploie le code du développeur sur la plateforme zetapush Fait un register si besoin

zeta push sans paramètre ET SANS fichier de conf déploiement les valeurs de convention

zeta push sans paramètre ET AVEC fichier de conf déploiement tout ce qui est configuré dans le fichier package.json/.zetarc

zeta push avec paramètre ne déploie que ce qui est indiqué via les paramètres

zeta run → zeta run worker

Fait un register si besoin Lance en local le worker sur le poste du développeur