Este site está hospedado em um droplet DigitalOcean, que foi criado usando Ansible (consulte tools/deployment/digitalocean.yml
).
Para reprovisionar o servidor:
# Download the required roles
ansible-galaxy install -r tools/deployment/requirements.yml --force
# Run the provision playbook
ansible-playbook tools/deployment/provision.yml
As implantações deste site são gerenciadas com Ansible e Ansistrano. Ansible Vault é usado para gerenciar informações confidenciais, como senhas de bancos de dados.
As implantações são acionadas automaticamente quando as alterações são enviadas para o GitHub e são executadas automaticamente por meio do GitHub Actions em cada envio para o branch production
.
Para executar uma implantação manualmente, execute ansible-playbook tools/deployment/deploy.yml --ask-vault-pass
. A senha do Vault é armazenada no LastPass.
Os arquivos de configurações de produção são gerados automaticamente durante uma implantação. Isso é feito usando a função ansible opdavies.drupal_settings_files, usando variáveis de tools/deployment/vars/deploy_vars.yml
e executado durante a etapa de construção After update code
do Ansistrano.
Para visualizar o status de todas as migrações:
./run drush migrate:status
Para executar todas as migrações:
./run drush migrate:import --all
Para executar todas as migrações e atualizar o conteúdo migrado existente:
./run drush migrate:import --all --update
A atualização do núcleo do Drupal (e qualquer outra coisa) pode ser feita usando o Composer. Como este projeto é construído usando o projeto principal recomendado do Drupal, todas as dependências precisam ser atualizadas:
./run composer update drupal/core-* --with-all-dependencies
Depois que isso for concluído, o arquivo composer.lock
atualizado poderá ser confirmado e enviado.
Para manter a página de palestras na ordem correta, com base em quando será dada a próxima palestra, a data created
do nó de conversa é atualizada automaticamente em cada salvamento para corresponder à data do evento mais futuro dessa palestra.
A visualização então classifica os nós de conversação com base na data created
.