Aprende con DrupalXpert
Sigue los pasos esenciales para configurar, entender e iniciar el desarrollo en Drupal.
Comienza tu viaje
Sigue nuestra guía para configurar tu entorno, dominar los flujos de trabajo con Git y utilizar herramientas de desarrollo que aseguren código de alta calidad.
Configuración del entorno
Instala los requisitos, forquea el repositorio base y lanza tu entorno local con instrucciones paso a paso.
Conceptos básicos del flujo de trabajo con Git
Aprende los tipos de ramas, estrategias de commit y mejores prácticas para gestionar tu código de manera efectiva.
Herramientas de desarrollo
Utiliza herramientas como Code Sniffer, PHPStan y más para mantener la consistencia y calidad del código.
Configurando tu entorno de desarrollo
Un entorno local adecuado es la base para el éxito en el desarrollo con Drupal. Sigue estos pasos para instalar el software requerido, hacer fork del proyecto base y lanzar tu sitio.
Requisitos previos
Asegúrate de tener las siguientes herramientas instaladas en tu equipo:
-
Docker:
Requerido para ejecutar entornos en contenedores con DDEV.
-
Linux (Ubuntu):
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
- Windows/Mac: Descargar Docker Desktop
-
Linux (Ubuntu):
-
DDEV:
Simplifica el desarrollo local automatizando las configuraciones de Docker.
-
Linux:
curl -LO https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh && bash install_ddev.sh
- Windows/Mac: Instrucciones de Instalación
-
Linux:
-
Composer:
Gestor de dependencias PHP utilizado para instalar bibliotecas y módulos de Drupal.
-
Linux:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php --install-dir=/usr/local/bin --filename=composer
- Windows: Descargar Composer
-
Linux:
-
Git:
Esencial para el control de versiones y la colaboración.
-
Linux:
sudo apt-get install git
- Windows/Mac: Descargar Git
-
Linux:
Fork del Proyecto Base
Para iniciar tu propio proyecto, forquea el repositorio base en GitHub. Este repositorio se encuentra en: DrupalXpert base project
-
Crear un Fork en GitHub
Visita el repositorio en GitHub y haz clic en el botón "Fork" en la esquina superior derecha para crear tu copia personal.
-
Clona tu Fork
Clona tu repositorio forkeado a tu máquina local. Reemplaza YOUR-USERNAME con tu nombre de usuario en GitHub:
git clone https://github.com/YOUR-USERNAME/base.git my_project cd my_project
-
Configurar el Repositorio remoto (Upstream)
Vincula tu fork con el repositorio original para poder obtener actualizaciones fácilmente:
git remote add upstream https://github.com/DrupalXpert/base.git
-
Sincronizar tu Fork
Actualiza tu fork regularmente obteniendo y fusionando cambios desde el repositorio upstream:
git fetch upstream git checkout develop git merge upstream/develop
Iniciando tu Entorno Local
-
Inicializar DDEV
En el directorio de tu proyecto, inicia el entorno en contenedores:
ddev start
-
Instalar Dependencias
Descarga todas las bibliotecas y módulos PHP necesarios utilizando Composer:
ddev composer install
For more help, refer to the Composer Documentation.
-
Instalar Drupal
Configura Drupal con una configuración básica y crea una cuenta de administrador. (Cambia las credenciales predeterminadas para producción.)
ddev drush site:install --account-name=admin --account-pass=admin -y
-
Ver tu Sitio
Lanza tu sitio en un navegador usando la URL local generada:
ddev launch
DDEV proporciona una URL HTTPS segura para probar funcionalidades que requieren una conexión segura.
Conceptos básicos del flujo de trabajo con Git
Nuestro flujo de trabajo con Git está diseñado para promover las mejores prácticas, asegurar la estabilidad del código y optimizar la colaboración. Aprende sobre los tipos de ramas, estrategias de commit y técnicas de fusión.
Tipos de ramas
- main: La rama de producción estable. Todo el código aquí está completamente probado y listo para desplegar.
- develop: La rama principal para integrar nuevas funcionalidades y desarrollo continuo.
- feature/: Ramas creadas a partir de develop para trabajar en nuevas funcionalidades.
- release/: Ramas utilizadas para pruebas finales y preparación antes de lanzamientos a producción.
- hotfix/: Ramas para solucionar problemas urgentes en producción.
Pasos del flujo de trabajo
-
Crea una Rama de Funcionalidad
Comienza creando una nueva rama a partir de develop para tu funcionalidad:
git checkout develop git checkout -b feature/your-feature
-
Realiza Commits Frecuentes
Realiza commits pequeños y descriptivos con mensajes claros que expliquen tus cambios.
-
Fusiona tu Rama de Funcionalidad
Antes de fusionar, actualiza tu rama develop y fusiona tus cambios:
git pull origin develop git push
-
Abre un Pull Request
Envía tu rama para que la revisen mediante un pull request en GitHub.
Mejores prácticas
- Utiliza nombres de ramas claros y descriptivos (por ejemplo, feature/sistema-de-login).
- Mantén actualizada la rama develop antes de crear nuevas ramas de funcionalidad.
- Realiza commits pequeños y lógicos con mensajes concisos.
- Fusiona frecuentemente las actualizaciones de develop en tu rama de funcionalidad para evitar conflictos.
Herramientas de desarrollo
Para garantizar la calidad del código y agilizar el desarrollo, usamos las siguientes herramientas en nuestro flujo de trabajo:
-
Formateador de código:
Corrige automáticamente los problemas de estándares de codificación en archivos PHP para un estilo consistente.
ddev phpcbf
-
Code Sniffer:
Analiza archivos PHP en busca de violaciones de estándares de codificación y reporta los problemas sin modificar los archivos.
ddev phpcs
-
PHPStan para análisis estático:
Realiza un análisis estático del código PHP para detectar posibles errores.
ddev phpstan
-
Twig Code Sniffer:
Verifica que las plantillas Twig cumplan con los estándares de codificación.
ddev twigcs
-
Exportación de configuración:
Exports all configuration changes to code, making site settings version controllable.
ddev cex
-
Importación de configuración:
Imports configuration from code, ensuring your site matches the committed settings.
ddev cim
-
Reconstrucción de caché:
Limpia y reconstruye todas las cachés para que todos los cambios se reflejen de inmediato.
ddev cr
-
Frameworks de prueba:
Ejecuta pruebas con PHPUnit (o Behat) para verificar la fiabilidad del código.
ddev exec vendor/bin/phpunit
-
Modo de desarrollo:
Desactiva la caché y activa la depuración para optimizar el flujo de trabajo en desarrollo.
ddev drush state:set system.performance css.preprocess 0
ddev drush state:set system.performance js.preprocess 0