Этот сайт размещен на дроплете DigitalOcean, созданном с использованием Ansible (см. tools/deployment/digitalocean.yml
).
Чтобы повторно подготовить сервер:
# Download the required roles
ansible-galaxy install -r tools/deployment/requirements.yml --force
# Run the provision playbook
ansible-playbook tools/deployment/provision.yml
Развертывания для этого сайта управляются с помощью Ansible и Ansistrano. Ansible Vault используется для управления конфиденциальной информацией, такой как пароли базы данных.
Развертывания запускаются автоматически, когда изменения передаются в GitHub, и выполняются автоматически с помощью действий GitHub при каждой отправке в production
ветку.
Чтобы запустить развертывание вручную, запустите ansible-playbook tools/deployment/deploy.yml --ask-vault-pass
. Пароль хранилища хранится в LastPass.
Файлы производственных настроек генерируются автоматически во время развертывания. Это делается с помощью роли Ansible opdavies.drupal_settings_files с использованием переменных из tools/deployment/vars/deploy_vars.yml
и выполняется на этапе сборки After update code
.
Чтобы просмотреть статус всех миграций:
./run drush migrate:status
Чтобы запустить все миграции:
./run drush migrate:import --all
Чтобы запустить все миграции и обновить существующий перенесенный контент:
./run drush migrate:import --all --update
Обновление ядра Drupal (и всего остального) можно выполнить с помощью Composer. Поскольку этот проект построен с использованием рекомендованного ядра Drupal проекта, все зависимости необходимо обновить:
./run composer update drupal/core-* --with-all-dependencies
Как только это будет завершено, обновленный файл composer.lock
можно будет зафиксировать и отправить.
Чтобы страница выступлений располагалась в правильном порядке, в зависимости от того, когда будет проводиться следующая беседа, дата created
узла бесед автоматически обновляется при каждом сохранении, чтобы соответствовать дате самого будущего события для этой беседы.
Затем представление сортирует узлы обсуждения на основе даты их created
.