ENV
= "beta" ou "production"TAG
= "bootstrap" (pour une installation complète) ou "upgrade" (pour une mise à jour)appversion
= un tag (ex, "v27.1") ou une branche (ex, "release_v28") ou une PR (ex, "pull/5158/head" pour la PR 5158)
Depuis une copie de ansible-zestedesavoir
sur votre ordinateur :
- Mettre à jour
ansible-zestedesavoir
avecgit fetch
- Vérifier que vous êtes sur la bonne branche (
origin/master
la plupart du temps) - Modifier
appversion
dansgroup_vars/ENV/vars.yml
avec la version dezds-site
que vous voulez déployer - Créer un commit des modifications avec
git commit
et les envoyer sur Github avecgit push
- Attention, un grand pouvoir implique de grandes responsabilités !
- Vérifier votre choix pour
ENV
,TAG
etappversion
- Lancer le playbook avec cette commande :
- (version longue)
ansible-playbook playbook.yml --limit=ENV --tags=TAG --ask-become-pass --vault-password-file=vault-secret
- (version courte)
ansible-playbook playbook.yml -l ENV -t TAG -K --vault-password-file=vault-secret
- (version longue)
- Vérifier votre choix pour
- Vérifier que le serveur fonctionne bien et siroter un diabolo
Si vous souhaitez déployer Zeste de Savoir dans une machine virtuelle locale, il vous faut :
- un logiciel de virtualisation tel que VirtualBox ;
- le logiciel Vagrant pour interfacer le logiciel de virtualisation et Ansible.
Installer Vagrant à partir de leur site web
Voici les principales commandes à connaitre pour utiliser Vagrant :
Commande | Explication |
---|---|
vagrant |
Afficher l'aide |
vagrant up |
Si la machine virtuelle n'existe pas : construire la machine, la démarrer et lancer le playbook. Si la machine virtuelle existe déjà : simplement la démarrer. |
vagrant provision |
Lancer le playbook dans la machine virtuelle (avec la configuration test ) |
vagrant ssh |
Ouvrir une connexion SSH avec la machine virtuelle |
vagrant halt |
Arrêter la machine virtuelle |
vagrant destroy |
Supprimer la machine virtuelle |
À la racine du dépôt, lancez vagrant up
et attendez une dizaine de minutes. Si la commande se termine sans erreur, alors vous pouvez accéder au site web sur localhost:8080
(HTTP) ou localhost:8443
(HTTPS). Si la commande s'est arrêtée avec une belle erreur toute rouge, alors il va falloir trouver le soucis et le corriger. Si tel est le cas, n'hésitez pas à demander de l'aide !
Les données initiales sont maintenant chargées automatiquement avec Ansible lorsque Vagrant est utilisé.
Si vous souhaitez charger les données initiales (utilisateurs, tutoriels, billets, sujets du forum, etc. factices), alors il faut se connecter au serveur avec vagrant ssh
puis lancer ces commandes :
sudo -u zds bash
/opt/zds/virtualenv/bin/pip3 install -r /opt/zds/app/requirements-dev.txt
/opt/zds/wrapper loaddata /opt/zds/app/fixtures/*.yaml
/opt/zds/wrapper load_factory_data fixtures/advanced/aide_tuto_media.yaml
/opt/zds/wrapper load_fixtures --size=low --all
Si vous souhaitez lancer l'équivalent de ansible-playbook --tags=upgrade
, il est nécessaire d'ajouter cette ligne au bloc config.vm.provision "ansible" do |ansible|
du fichier Vagrantfile
:
ansible.tags = "upgrade"