Este sitio está alojado en un droplet de DigitalOcean, que se creó con Ansible (consulte tools/deployment/digitalocean.yml
).
Para reaprovisionar el servidor:
# Download the required roles
ansible-galaxy install -r tools/deployment/requirements.yml --force
# Run the provision playbook
ansible-playbook tools/deployment/provision.yml
Las implementaciones de este sitio se administran con Ansible y Ansistrano. Ansible Vault se utiliza para administrar información confidencial, como contraseñas de bases de datos.
Las implementaciones se activan automáticamente cuando los cambios se envían a GitHub y se realizan automáticamente a través de acciones de GitHub en cada envío a la rama production
.
Para ejecutar una implementación manualmente, ejecute ansible-playbook tools/deployment/deploy.yml --ask-vault-pass
. La contraseña de Vault se almacena en LastPass.
Los archivos de configuración de producción se generan automáticamente durante una implementación. Esto se hace usando el rol de Ansible opdavies.drupal_settings_files, usando variables de tools/deployment/vars/deploy_vars.yml
y se realiza durante el paso de compilación After update code
de Ansistrano.
Para ver el estado de todas las migraciones:
./run drush migrate:status
Para ejecutar todas las migraciones:
./run drush migrate:import --all
Para ejecutar todas las migraciones y actualizar el contenido migrado existente:
./run drush migrate:import --all --update
La actualización del núcleo de Drupal (y cualquier otra cosa) se puede realizar utilizando Composer. Como este proyecto se construye utilizando el proyecto principal recomendado de Drupal, es necesario actualizar todas las dependencias:
./run composer update drupal/core-* --with-all-dependencies
Una vez que esto se haya completado, el archivo composer.lock
actualizado se puede confirmar y enviar.
Para mantener la página de charlas en el orden correcto, según cuándo será la próxima vez que se dé una charla, la fecha created
del nodo de charla se actualiza automáticamente en cada guardado para que coincida con la fecha del evento más futuro para esa charla.
Luego, la vista clasifica los nodos de conversación según su fecha created
.