Installation d'une instance locale de ZdS en une ligne

Recherches de testeurs , pour les systèmes linux d'abord

L'auteur de ce sujet a trouvé une solution à son problème.
Staff
Auteur du sujet

Bonjour,

J'ai commencé à travailler sur un script qui permet d'initialiser une instance de ZdS en local, en une ligne de commande. C'est donc un must pour faire de la QA. Le seul souci est qu'il est uniquement disponible pour les systèmes LINUX. J'aimerai que vous le testiez, car il est très perfectible avant de le porter sur les autres OS.

Voici ce que fait le script si vous lancez ./exemple.sh /tmp/majestic/.

  • Il installe toutes les dépendances systèmes nécessaires (git, python, pip, etc)
  • Il crée un en environnement virtuel appelé zdsenv dans le répertoire que vous lui avez demandé (ici /tmp/majestic/) si le répertoire n'existait pas avant.
  • il crée un répertoire en dessous de zdsenv avec le même nom que la branche demandée, dans lequel il clone la branche. Le répertoire est écrasé s'il existe déjà.
  • il installe les dépendances python (requirements) lié à l'environnement virtuel. Il ne fait rien s'il n'y a rien à mettre à jour
  • il initialise la base de donnée, et charge les fixtures automatiques.

Les options disponibles sont :

1
2
-u : url du dépot zds à installer. par défaut : https://github.com/zestedesavoir/zds-site.git
-b : nom de la branche à installer. par défaut : dev

Vous pouvez donc, si vous avez envie de faire de la QA sur la PR 1506 lancer la commande : ./launch.sh -b feature-validation-partial https://github.com/firm1/zds-site.git

Lien de téléchargement du script

Je cherche des testeurs, n'hésitez pas à me faire des retours.

Édité par firm1

J'approuve l'initiative mais je ne ferais pas parti des testeurs, l'installation de la BDD par ce moyen me prend environ 10 minutes compare a "charger quelques données via le yaml puis créer un tuto bidon"

J'utilise ta methode de fixtures que quand je sais que j'ai besoin de volume (et dans ce cas je vais me faire un cafe)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+1 -0
Staff
Auteur du sujet

Mais te casses pas forcement la tete juste pour moi, j'ai mon workflow de QA plutot bien rode ^^

Eskimon

T'inquiète pas je me casse pas la tête pour toi, mais pour les potentiels contributeurs qui ne savent pas comment ça marche, git, virtualenv, python, etc.

En accessoirement, je pourrais même lancer 20 install en parallèle, aller manger, et revenir faire les 20 QAs d'un coup. :D

L'idée est excellente, mais :

apt-get install -y

Argh.

SpaceFox

Pourquoi ? Je ne connais pas les bonne pratiques de ce coté

Staff

Pourquoi ? Parce que là tu forces l'installation de logiciels sur le PC du type sans même lui demander son avis. C'est super intrusif.

Idéalement il faudrait vérifier la présence des prérequis et, uniquement lorsqu'ils manquent, les installer avec confirmation de l'utilisateur (qu'il puisse au moins savoir ce qu'il installe, pour pouvoir le virer au besoin après).

T'inquiète pas je me casse pas la tête pour toi, mais pour les potentiels contributeurs qui ne savent pas comment ça marche, git, virtualenv, python, etc.

Je parlais bien sur juste du cas de "rajouter une option dans le script pour Eskimon qui a un PC pourri et qui veut pas perdre de temps"

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0
Staff
Auteur du sujet

Pourquoi ? Parce que là tu forces l'installation de logiciels sur le PC du type sans même lui demander son avis. C'est super intrusif.

Idéalement il faudrait vérifier la présence des prérequis et, uniquement lorsqu'ils manquent, les installer avec confirmation de l'utilisateur (qu'il puisse au moins savoir ce qu'il installe, pour pouvoir le virer au besoin après).

SpaceFox

Là j'aimerai déjà valider que le script marche dans sa version la plus simple. Je rajouterai des options par la suite (interactive, etc.).

L'idée est d'abord qu'on puisse avoir un environnement prêt en une ligne de commande, et après on a les options pour ceux qui veulent.

T'inquiète pas je me casse pas la tête pour toi, mais pour les potentiels contributeurs qui ne savent pas comment ça marche, git, virtualenv, python, etc.

Je parlais bien sur juste du cas de "rajouter une option dans le script pour Eskimon qui a un PC pourri et qui veut pas perdre de temps"

Eskimon

Non mais une option reste une option, si c'est pas compliqué a rajouter je rajoute. La valeur par defaut devant être la valeur orientée "noobs"

Je vais être chiant, mais c'est possible d'indiquer la liste des paquets à installer (ou eventuellement la commande à lancer en root) plutôt que de le cacher dans le script ? Je ne lance jamais de script en superutilisateur (sauf si je l'ai entièrement revu), j'ai même tendance à être parano et à me chrooter ou à créer un nouveau user (pour éviter de pourrir mon home avec un script pourri)

+3 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte