ไซต์นี้โฮสต์บน DigitalOcean droplet ซึ่งสร้างขึ้นโดยใช้ 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 Actions ในการพุชแต่ละครั้งไปยังสาขา production
หากต้องการรันการปรับใช้ด้วยตนเอง ให้รัน ansible-playbook tools/deployment/deploy.yml --ask-vault-pass
รหัสผ่านห้องนิรภัยถูกเก็บไว้ใน LastPass
ไฟล์การตั้งค่าการผลิตจะถูกสร้างขึ้นโดยอัตโนมัติระหว่างการใช้งาน ซึ่งทำได้โดยใช้บทบาท opdavies.drupal_settings_files Ansible โดยใช้ตัวแปรจาก tools/deployment/vars/deploy_vars.yml
และดำเนินการในระหว่างขั้นตอนการสร้าง After update code
ของ Ansistrano
หากต้องการดูสถานะของการย้ายข้อมูลทั้งหมด:
./run drush migrate:status
หากต้องการดำเนินการย้ายข้อมูลทั้งหมด:
./run drush migrate:import --all
หากต้องการดำเนินการย้ายข้อมูลทั้งหมดและอัปเดตเนื้อหาที่ย้ายที่มีอยู่:
./run drush migrate:import --all --update
การอัปเดต Drupal core (และอื่นๆ) สามารถทำได้โดยใช้ Composer เนื่องจากโปรเจ็กต์นี้สร้างขึ้นโดยใช้โปรเจ็กต์ที่แนะนำหลักของ Drupal การขึ้นต่อกันทั้งหมดจึงจำเป็นต้องได้รับการอัปเดต:
./run composer update drupal/core-* --with-all-dependencies
เมื่อดำเนินการเสร็จสิ้น ไฟล์ composer.lock
ที่อัพเดตแล้วสามารถคอมมิตและพุชได้
เพื่อให้หน้าการพูดคุยอยู่ในลำดับที่ถูกต้อง ขึ้นอยู่กับว่าจะมีการพูดคุยครั้งถัดไปเมื่อใด วัน created
สำหรับโหนดการพูดคุยจะได้รับการอัปเดตโดยอัตโนมัติในการบันทึกแต่ละครั้งเพื่อให้ตรงกับวันที่ของเหตุการณ์ในอนาคตมากที่สุดสำหรับการพูดคุยนั้น
มุมมองจะเรียงลำดับโหนดพูดคุยตามวัน created