Ce site est hébergé sur un droplet DigitalOcean, qui a été créé à l'aide d'Ansible (voir tools/deployment/digitalocean.yml
).
Pour réapprovisionner le serveur :
# Download the required roles
ansible-galaxy install -r tools/deployment/requirements.yml --force
# Run the provision playbook
ansible-playbook tools/deployment/provision.yml
Déploiements pour ce site gérés avec Ansible et Ansistrano. Ansible Vault est utilisé pour gérer des informations sensibles telles que les mots de passe de bases de données.
Les déploiements sont déclenchés automatiquement lorsque les modifications sont transmises à GitHub et sont effectués automatiquement via les actions GitHub à chaque transmission vers la branche production
.
Pour exécuter un déploiement manuellement, exécutez ansible-playbook tools/deployment/deploy.yml --ask-vault-pass
. Le mot de passe du coffre-fort est stocké dans LastPass.
Les fichiers de paramètres de production sont générés automatiquement lors d'un déploiement. Cela se fait à l'aide du rôle Ansible opdavies.drupal_settings_files, en utilisant les variables de tools/deployment/vars/deploy_vars.yml
, et effectué pendant l'étape de construction After update code
d'Ansistrano.
Pour afficher l'état de toutes les migrations :
./run drush migrate:status
Pour exécuter toutes les migrations :
./run drush migrate:import --all
Pour exécuter toutes les migrations et mettre à jour le contenu migré existant :
./run drush migrate:import --all --update
La mise à jour du noyau Drupal (et de tout le reste) peut être effectuée à l'aide de Composer. Comme ce projet est construit à l'aide du projet recommandé par Drupal, toutes les dépendances doivent être mises à jour :
./run composer update drupal/core-* --with-all-dependencies
Une fois cette opération terminée, le fichier composer.lock
mis à jour peut être validé et poussé.
Afin de conserver la page des discussions dans le bon ordre, en fonction de la date de la prochaine conférence, la date created
du nœud de discussion est automatiquement mise à jour à chaque sauvegarde pour correspondre à la date de l'événement le plus futur pour cette conférence.
La vue trie ensuite les nœuds de discussion en fonction de leur date created
.