From 76e4ae2999b037709a63bb4d520d0ff783be7433 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 14 Oct 2019 17:44:26 +0200 Subject: [PATCH] Move to LXC/LXD instead of vagrant, and update oudated dev doc bits --- dev.md | 32 ++++++++----------- dev_fr.md | 30 +++++++----------- images/images.list | 2 +- images/lxc.png | Bin 0 -> 10041 bytes images/vagrant.png | Bin 51377 -> 0 bytes install.md | 8 ++--- install_ar.md | 8 ++--- install_es.md | 9 +++--- install_fr.md | 8 ++--- install_it.md | 6 ++-- troubleshooting_guide.md | 2 +- troubleshooting_guide_fr.md | 2 +- vagrant.md | 59 ----------------------------------- vagrant_es.md | 60 ------------------------------------ vagrant_fr.md | 59 ----------------------------------- 15 files changed, 45 insertions(+), 240 deletions(-) create mode 100644 images/lxc.png delete mode 100644 images/vagrant.png delete mode 100644 vagrant.md delete mode 100644 vagrant_es.md delete mode 100644 vagrant_fr.md diff --git a/dev.md b/dev.md index e76fda01..645915a6 100644 --- a/dev.md +++ b/dev.md @@ -7,7 +7,7 @@ contribution process. If you're looking for stuff to implement or fix, the bug-tracker is [here](https://github.com/YunoHost/issues/issues) ! -**Come say hi to us in the [dev chatroom](xmpp:dev@conference.yunohost.org?join)** ! If you don't have an XMPP client, you can join using the widget at the bottom right of this page. +**Come say hi to us in the [dev chatroom](/chat_rooms)** ! ### Setting up a development environment @@ -19,16 +19,16 @@ If you're looking for stuff to implement or fix, the bug-tracker is - **Implement and test your feature**. Depending on what you want to develop, you will want to : - - **Python/CLI core** : work in `/vagrant/yunohost/` - - **Web administration interface** : work in `/vagrant/yunohost-admin/` + - **Python/CLI core** : work in `/ynh-dev/yunohost/` + - **Web administration interface** : work in `/ynh-dev/yunohost-admin/` - You can also work on the other projects on which YunoHost is built (SSOwat, moulinette) in similar ways ### Working on the YunoHost Python/CLI core -- Work in `/vagrant/yunohost/`. +- Work in `/ynh-dev/yunohost/`. -- Run `/vagrant/ynh-dev use-git yunohost`. +- Run `cd /ynh_dev/ && ./ynh-dev use-git yunohost`. - The actionsmap file (`data/actionsmap/yunohost.yml`) defines the various categories, actions and arguments of the yunohost CLI. Define how you want @@ -45,7 +45,7 @@ If you're looking for stuff to implement or fix, the bug-tracker is ##### Helpers / coding style -- To handle exceptions, you should raise some `MoulinetteError()` +- To handle exceptions, you should raise some `YunohostError()` - To help with internationalizing the messages, use `m18n.n('some-message-id')` and put your string in `locales/en.json`. You can also put arguments and use @@ -57,17 +57,11 @@ If you're looking for stuff to implement or fix, the bug-tracker is - Name of "private" functions should start with a `_` -##### Don't forget - -- (Might not be necessary anymore) Each time you edit the actionsmap, you should - force the refresh of the cache with `rm - /var/cache/moulinette/actionsmap/yunohost.pkl` - ### Working on the YunoHost web administration interface -- Work in `/vagrant/yunohost-admin/src/`. +- Work in `/ynh-dev/yunohost-admin/src/`. -- Run `/vagrant/ynh-dev use-git yunohost-admin`. It launches gulp, such as each +- Run `cd /ynh-dev && ./ynh-dev use-git yunohost-admin`. It launches gulp, such as each time you modify sources, it recompiles the code and you can use it by refreshing (Ctrl+F5) your web administration. To stop the command, just do Ctrl+C. @@ -111,14 +105,12 @@ If you're looking for stuff to implement or fix, the bug-tracker is - Fork the relevant repo on Github, and commit stuff to a new branch. We recommend to name the branch with the following convention : - - For an enhancement or new feature : `enh-REDMINETICKET-name-of-feature` - - For a bugfix `fix-REDMINETICKET-description-of-fix` - - `REDMINETICKET` is optional and is the id of a corresponding ticket on RedMine. + - For an enhancement or new feature : `enh-ISSUENUMBER-name-of-feature` + - For a bugfix `fix-ISSUENUMBER-description-of-fix` + - `ISSUENUMBER` is optional and is the id of a corresponding ticket on the bug tracker. - Once you're ready, open a Pull Request (PR) on Github. Please include `[fix]` or `[enh]` at the beginning of the title of your PR. - After reviewing, testing and validation by other contributors, your branch -should be merged in `testing` (?) ! - - +should be merged in `unstable` ! diff --git a/dev_fr.md b/dev_fr.md index 2cfa4cd8..d161888c 100644 --- a/dev_fr.md +++ b/dev_fr.md @@ -7,9 +7,7 @@ processus de contribution. Si vous chercher quelque chose à implémenter ou un bug à réparer, le bug tracker est [ici](https://github.com/yunohost/issues/issues) ! -**Venez dire coucou sur le [salon de -dev](xmpp:dev@conference.yunohost.org?join)** ! Si vous n'avez pas de client -XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. +**Venez dire coucou sur le [salon de dev](/chat_rooms)** ! ### Mettre en place un environnement de développement @@ -23,16 +21,16 @@ XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. - **Implémentez et testez votre fonctionnalité**. Suivant ce sur quoi vous voulez travailler : - - **Cœur Python/ligne de comande** : allez dans `/vagrant/yunohost/` - - **Interface d'administration web** : allez dans `/vagrant/yunohost-admin/` + - **Cœur Python/ligne de comande** : allez dans `/ynh-dev/yunohost/` + - **Interface d'administration web** : allez dans `/ynh-dev/yunohost-admin/` - Vous pouvez aussi travailler sur les autres projets liés sur lesquels s'appuie YunoHost (SSOwat, moulinette) de façon similaire. ### Travailler sur le cœur Python / ligne de commande -- Allez dans `/vagrant/yunohost/`. +- Allez dans `/ynh-dev/yunohost/`. -- Exécutez `/vagrant/ynh-dev use-git yunohost`. +- Exécutez `cd /ynh-dev && ./ynh-dev use-git yunohost`. - Le fichier actionsmap (`data/actionsmap/yunohost.yml`) définit les différentes catégories, actions et arguments de la ligne de commande YunoHost. Choisissez @@ -49,7 +47,7 @@ XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. ##### Helpers / style de code -- Pour gérer les exceptions, il existe un type `MoulinetteError()` +- Pour gérer les exceptions, il existe un type `YunohostError()` - Pour aider avec l'internationalisation des messages, utilisez `m18n.n('some-message-id')` et mettez le message correspondant dans `locales/en.json`. Vous pouvez aussi @@ -62,17 +60,11 @@ XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. - Mettre un `_` devant les noms des fonctions "privées". -##### N'oubliez pas - -- (Peut-être plus nécessaire) À chaque fois que vous modifiez l'actionsmap, il - faut forcer le rafraîchissement du cache avec : - `rm /var/cache/moulinette/actionsmap/yunohost.pkl` - ### Travailler sur l'interface d'administration web -- Allez dans `/vagrant/yunohost-admin/src/`. +- Allez dans `/ynh-dev/yunohost-admin/src/`. -- Exécutez `/vagrant/ynh-dev use-git yunohost-admin`. Ceci lance gulp, de sorte +- Exécutez `cd /ynh-dev && ./ynh-dev use-git yunohost-admin`. Ceci lance gulp, de sorte qu'à chaque fois que vous modifiez les sources, il recompilera le code (js) et vous pourrez voir les changements dans le navigateur web (Ctrl+F5). Pour stopper la commande, faites simplement Ctrl+C. @@ -121,14 +113,14 @@ XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. - Forkez le dépòt correspondant sur Github, et commitez vos changements dans une nouvelle branche, Il est recommandé de nommer la branche avec la convention : - - Pour une nouvelle fonctionnalité ou amélioration : `enh-TICKETREDMINE-description-fonctionnalité` + - Pour une nouvelle fonctionnalité ou amélioration : `enh-ISSUENUMBER-description-fonctionnalité` - Pour une correction de bug : `fix-REDMINETICKET-description-correctif` - - `TICKETREDMINE` est optionnel et correspond au numéro du ticket sur RedMine + - `ISSUENUMBER` est optionnel et correspond au numéro du ticket sur le bug tracker - Une fois prêt, ouvrez une Pull Request (PR) sur Github. De préférence, inclure `[fix]` ou `[enh]` au début du titre de la PR. - Après relecture, test et validation par les autres contributeurs, votre - branche sera mergée dans `testing` (?) ! + branche sera mergée dans `unstable` ! diff --git a/images/images.list b/images/images.list index 585a521b..9b1cf3f4 100644 --- a/images/images.list +++ b/images/images.list @@ -27,6 +27,7 @@ Linuxfr.png logo-jirafeau.jpeg logo.png Logo-wallabag-svg.svg +lxc.png mailview.jpg webadmin.png webadmin_fr.png @@ -55,7 +56,6 @@ transmission.png ttrss.png unetbootin.png usb_key.png -vagrant.png virtualbox_1.png virtualbox_2.1.png virtualbox_2.png diff --git a/images/lxc.png b/images/lxc.png new file mode 100644 index 0000000000000000000000000000000000000000..e344c1ddbdecfdbb9968cb12ccd215f2a0a819a7 GIT binary patch literal 10041 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 literal 0 HcmV?d00001 diff --git a/images/vagrant.png b/images/vagrant.png deleted file mode 100644 index 8a04afb11d159b43c29e824473955c1d723323ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51377 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 m000000000000000HiVz7?_)ULB;D-*0000 - - + -
+ diff --git a/install_ar.md b/install_ar.md index 5411c784..65c5dde5 100644 --- a/install_ar.md +++ b/install_ar.md @@ -71,13 +71,13 @@ diff --git a/install_es.md b/install_es.md index 0550dab8..3c3fb448 100644 --- a/install_es.md +++ b/install_es.md @@ -68,13 +68,14 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías diff --git a/install_fr.md b/install_fr.md index 21f08906..60612125 100644 --- a/install_fr.md +++ b/install_fr.md @@ -68,13 +68,13 @@ Cette page liste plusieurs types d’installations, classés par catégories. diff --git a/install_it.md b/install_it.md index 1a1d18e4..8fa8f550 100644 --- a/install_it.md +++ b/install_it.md @@ -76,12 +76,12 @@ Questa pagina elenca alcune guide all'installazione. diff --git a/troubleshooting_guide.md b/troubleshooting_guide.md index fec52ddb..50683619 100644 --- a/troubleshooting_guide.md +++ b/troubleshooting_guide.md @@ -5,7 +5,7 @@ You can consider this as some kind of administrator guide for troubleshooting or ## General notes ### Do not break YunoHost Best way to troubleshoot is to not have to troubleshoot because you have tested everything before deploying it on your server. -This means that everytime you want to try a new thing (non-official app, new specific config, package an app...), you should try it on a development or testing instance, *not* on your production server. For this, you can [set up a Vagrant box](vagrant), or for instance a [DigitalOcean droplet](install_on_vps) for 1 cent/hour. +This means that everytime you want to try a new thing (non-official app, new specific config, package an app...), you should try it on a development or testing instance, *not* on your production server. For this, you can [set up a virtualbox](install_on_virtualbox), or for instance a [DigitalOcean droplet](install_on_vps) for 1 cent/hour. Also: https://wiki.debian.org/DontBreakDebian diff --git a/troubleshooting_guide_fr.md b/troubleshooting_guide_fr.md index 31e516b7..2f107da0 100644 --- a/troubleshooting_guide_fr.md +++ b/troubleshooting_guide_fr.md @@ -5,7 +5,7 @@ Ce guide peut trouver son intérêt lors du débuggage d’une nouvelle applicat ## Notes générales ### Ne cassez pas YunoHost -La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [box Vagrant](vagrant_fr) ou un [droplet DigitalOcean](install_on_vps_fr) pour 1 centime/heure. +La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [virtualbox](install_on_virtualbox_fr) ou un [droplet DigitalOcean](install_on_vps_fr) pour 1 centime/heure. Vous pouvez aussi lire ceci si vous avez encore envie de bricoler sur votre instance YunoHost en production : https://wiki.debian.org/DontBreakDebian diff --git a/vagrant.md b/vagrant.md deleted file mode 100644 index fa165cdf..00000000 --- a/vagrant.md +++ /dev/null @@ -1,59 +0,0 @@ -# Vagrant and YunoHost - -*If you need testing some code, you should using directly [ynh-dev](https://github.com/yunohost/ynh-dev)* - -*Find other ways to install YunoHost **[here](/install)**.* - - - -**Prerequisite**: an x86 computer with VirtualBox installed and enough RAM capacity to be able to run a small virtual machine. - ---- - -## Initialization - -Create a project folder -```bash -mkdir YunoHost -cd YunoHost -``` - -The following command will initialize the project with a Yunohost image -```bash -vagrant box add yunohost/stretch-unstable https://build.yunohost.org/yunohost-stretch-unstable.box --provider virtualbox -vagrant init yunohost/stretch-unstable -``` - -You need to activate the network for the YunoHost instance. -```bash -sed -i 's/# config\.vm\.network "private_network"/config.vm.network "private_network"/' Vagrantfile``` - ---- - -## Run a vm - -Start the virtual machine -```bash -vagrant up -``` - -Connect to the started virtual machine -```bash -vagrant ssh -``` - -Upgrade the system -```bash -sudo apt update && sudo apt dist-upgrade -``` - -You can access to your vm with the ip 192.168.33.10 - -The IP addresses related to the boxes are set by default but can be changed in the network settings. - ---- - -*Once the installation is finished, you may want to proceed to post-installation: **[yunohost.org/postinstall](/postinstall)** * - - - diff --git a/vagrant_es.md b/vagrant_es.md deleted file mode 100644 index 2edf6375..00000000 --- a/vagrant_es.md +++ /dev/null @@ -1,60 +0,0 @@ -# Vagrant y YunoHost - -*Si necesitas una máquina virtual para testar tu código, es mejor utilizar directamente [ynh-dev](https://github.com/yunohost/ynh-dev)* - -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* - - - -**Prerrequisitos** : Un ordenador x86 con VirtualBox instalado y bastante RAM disponible para iniciar una pequeña máquina virtual. - ---- - -## Inicio - -Crear una carpeta para el proyecto : -```bash -mkdir YunoHost -cd YunoHost -``` - -El comando siguiente iniciará el proyecto con una imagen básica de Yunohost -```bash -vagrant box add yunohost/stretch-unstable https://build.yunohost.org/yunohost-stretch-unstable.box --provider virtualbox -vagrant init yunohost/stretch-unstable -``` -Luego, tienes que activar la red para la instancia Yunohost : -```bash -sed -i 's/# config\.vm\.network "private_network"/config.vm.network "private_network"/' Vagrantfile -``` - ---- - -## Instalación - -Iniciar la máquina virtual -```bash -vagrant up -``` - -Conectarse a la máquina virtual iniciada -```bash -vagrant ssh -``` - -Actualizar el sistema. -```bash -apt update && apt dist-upgrade -``` - -Puedes acceder a tu VM vía el IP 192.168.33.10. - -Las direcciones IP están asignadas por defecto pero pueden ser cambiadas en los parámetros de red del Vagrantfile. - ---- - -*Una vez la instalación terminada, puedes proceder a la post-instalación : -**[yunohost.org/postinstall](/postinstall_es)** * - - - diff --git a/vagrant_fr.md b/vagrant_fr.md deleted file mode 100644 index ebb0da31..00000000 --- a/vagrant_fr.md +++ /dev/null @@ -1,59 +0,0 @@ -# Vagrant et YunoHost - -*Si vous avez besoin d’une vm pour tester du code, il vaut mieux utiliser directement [ynh-dev](https://github.com/yunohost/ynh-dev)* - -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* - - - -**Prérequis** : Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle. - ---- - -## Initialisation - -Créer un dossier pour le projet : -```bash -mkdir YunoHost -cd YunoHost -``` - -La commande suivante va initialiser le projet avec une image YunoHost de base -```bash -vagrant box add yunohost/stretch-unstable https://build.yunohost.org/yunohost-stretch-unstable.box --provider virtualbox -vagrant init yunohost/stretch-unstable -``` -Puis, il faut activer le réseau pour l'instance YunoHost: -```bash -sed -i 's/# config\.vm\.network "private_network"/config.vm.network "private_network"/' Vagrantfile -``` - ---- - -## Installation - -Démarrer la machine virtuelle -```bash -vagrant up -``` - -Se connecter à la machine virtuelle démarrée -```bash -vagrant ssh -``` - -Mettre à jour le système. -```bash -apt update && apt dist-upgrade -``` - -Vous pouvez accéder à votre vm via l’ip 192.168.33.10. - -Les adresses IP sont assignées par défaut mais peuvent être changées dans les paramètres réseau du Vagrantfile. - ---- - -*Une fois l’installation terminée, vous pouvez procéder à la post-installation : **[yunohost.org/postinstall](/postinstall_fr)** * - - -