Proyectos Trellis Existentes

La mayoría de la documentación de Trellis se focaliza en cómo utilizar Trellis en nuevos proyectos. Si estás colaborando, o tomando un proyecto existente, este proceso puede ser un poco diferente.

Nota: esta documentación asume que tu proyecto sigue las recomendaciones del Proyecto de Ejemplo de Roots.

Comenzando

Si nunca has trabajado con un proyecto Trellis anteriormente, asegurate que tu entorno local esté configurado siguiendo las directivas.

Recopila información

Para trabajar en un proyecto existente de Trellis necesitas lo siguiente:

  • Acceso al repositorio Git
  • Password de Ansible Vault
  • Permisos para provisionar y hacer deploy
  • La URL de development del sitio
  • Un dump de la base de datos y una copia de la carpeta /uploads

Acceso al repositorio Git

Roots recomienta que los proyectos Trellis sean alojados en repositorios Git privados. Asegurate que tienes permisio para acceder al repositorio y a cualquier repositorio de plugin o theme dependiente.

Password de Ansible Vault

Trellis almacena las contraseñas y otros datos sensibles en archivos encriptados vault. Toma este password de alguien que ya trabaje en este proyecto.

Permisos para provisionar y hacer deploy

Si necesitas provisionar el servidor remoto del proyecto o hacer un deploy del proyecto a staging o producción, agrega tus keys SSH al servidor remoto, ya sea accediendo directamente al servidor, o a través de algún usuario que ya tenga acceso y re-provisione el servidor. Agregue las SSH keys a la configuración Trellis.

URL local de tu sitio

Revisa el archivo trellis/group_vars/development/wordpress_sites.yml y la URL:

wordpress_sites:
  example.com:
    site_hosts:
      - canonical: example.test # <-- ésta es la URL local

Clone su proyecto

$ git clone git@github.com:YourOrganization/example.com.git

Ansible Vault

Determine si tus archivos vault están encriptados en el archivo vault.yml en trellis/group_vars/

$ANSIBLE_VAULT;1.1;AES256
343163646662643438323831343332626234333233386666333162383265663
3132306538383762336332376165383530633838643937320a6363343238643
363065366664316364646561613163653866623566303235666537343437643
6638363265383831390a6631663239373833636133623333666363643166383
6237663637353638653266616562616535623465636265316231613331 etc.

Si cualquiera de los archivos vault.yml se muestra como el ejemplo de arriba, siga las instrucciones del vault para configurar Ansible Vault y el password vault.

Create tu VM local

Ejecute el siguiente comando desde el directorio trellis:

$ vagrant up

Confirme que puedes acceder a la URL local anotada anteriormente.

Importe la Base de Datos

Exporte la base de datos del proyecto.

Nota: para poder acceder en forma sencilla durante el proceso de importación, ubique el archivo exportado de la base de datos en el directorio site de su proyecto local.

Desde el directorio trellis del proyecto, ssh a la máquina vagrant:

$ vagrant ssh

Navegue a la raíz del proyecto:

$ cd /srv/www/example.com/current

Importe la base de datos con wp-cli:

$ wp db import example.com.sql

Si la exportación proviene de otro entorno de desarrollo, realice un search-and-replace de las URL del sitio con wp-cli:

$ wp search-replace http://example.com http://example.test

Importe los uploads

Tome una copia de la carpeta uploads del proyecto y copiela en el directorio local site/app.