drupal 8, de cero a producción en minutos

26
Drupal 8, de cero a producción en minutos. Miguel Ángel Caro García Adolfo Gamero Escudero

Upload: miguel-angel-caro-garcia

Post on 12-Jan-2017

67 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Drupal 8, de cero a producción en minutos

Drupal 8, de cero a producción en minutos.

Miguel Ángel Caro GarcíaAdolfo Gamero Escudero

Page 2: Drupal 8, de cero a producción en minutos

Presentación

Miguel Ángel Caro García

Desarrollador Drupal en Aspgems.

!!! Hago todo lo que me propongan !!!

@MiguelAngCaro

Page 3: Drupal 8, de cero a producción en minutos

Presentación

Adolfo Gamero Escudero

Administrador de Sistemas en ASPgems.

¡¡¡ Vivo apagando fuegos !!!

@Adoltole

Page 4: Drupal 8, de cero a producción en minutos

Índice- Introducción- Entorno local (vagrant, chef...)- Drupal 8 Básico en entorno local.- Inicio de proyecto y cambios básicos.- Despliegue de cambios a un nuevo entorno.

Page 5: Drupal 8, de cero a producción en minutos

IntroducciónLenguaje claro, explicando las cosas de una forma cercana y siendo conscientes de que estamos rayando la superficie de algo en lo que se puede profundizar infinitamente más.

Page 6: Drupal 8, de cero a producción en minutos

Introducción.Conocimientos básicos requeridos:

Git: básico.

Conceptos básicos de virtualización.

Manejo de terminal (línea de comandos linux).

Idealmente:

php, html, css, ruby, chef, mysql, servidores web (apache), magia negra...

Page 7: Drupal 8, de cero a producción en minutos

Entorno localVirtualbox: software de virtualización para arquitecturas x86/amd64. Actualmente es desarrollado por Oracle Corporation. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.

https://www.virtualbox.org/wiki/Downloads

Vagrant: Herramienta de línea de comandos para controlar el ciclo de vida de máquinas virtuales.

https://www.vagrantup.com/downloads.html

Page 8: Drupal 8, de cero a producción en minutos

Entorno localVisitar la siguiente URL:

https://github.com/adoltole/vdd_workshop

(Basado en https://github.com/drupalprojects/vdd)

Siguiendo las instrucciones del propio README del repositorio, se puede llegar a tener la máquina virtual instalada y funcionando.

Page 9: Drupal 8, de cero a producción en minutos

Entorno Local - Máquina VirtualVagrantfile: La función principal del Vagrantfile es indicar el tipo de máquina requerida para un proyecto y cómo configurarla y provisionarla. Vagrant está destinado a funcionar con un Vagrantfile por proyecto (máquina virtual), y la gran ventaja que tiene es que puede ser versionado y reutilizado por otros (equipo de trabajo).

Config.json: Archivo utilizado para definir parámetros de configuración de la máquina

Page 10: Drupal 8, de cero a producción en minutos

Entorno Local - Máquina VirtualComandos para guardarnos en la cabeza ¡A FUEGO!:

vagrant up: enciende la máquina (si es la primera vez que se enciende, lleva un provision implícito).

vagrant halt: apaga la máquina.

vagrant reload: reinicia la máquina, aplicando cambios que haya podido sufrir el Vagrantfile.

vagrant provision: pone en marcha el provisioner que estemos usando para configurar la máquina virtual.

Page 11: Drupal 8, de cero a producción en minutos

¡¡Vagrant UP!!

Page 12: Drupal 8, de cero a producción en minutos

CHEF como provisionerVariante chef-solo para provisionar las máquinas.

Cookbooks como unidad fundamental de chef (enlace de interés: https://docs.chef.io/cookbooks.html).

Principales archivos de un cookbook: Attributes, Recipes y Templates.

Run list: listado de recetas que se ejecutan en la máquina virtual en cada provisionamiento.

Page 13: Drupal 8, de cero a producción en minutos

Drupal 8 básico--- www.drupal.org- -- DRUPAL ES COMUNIDAD.

- ¿Qué hace a Drupal diferente?- https://www.drupal.org/project/issues

Page 14: Drupal 8, de cero a producción en minutos

Drupal 8 básico

- Herramienta drush.

Drush es una interfaz de línea de comandos para drupal, es decir, un lugar desde donde podemos manejar nuestro drupal usando comandos de consola.

Page 15: Drupal 8, de cero a producción en minutos

Drupal 8 básico

- Módulos básicos e importantes (core y no core).

Módulos importantes:

- Pathauto.- SMTP.- Devel.- Backup and migrate.

Page 16: Drupal 8, de cero a producción en minutos

Drupal 8 básico- COMPOSER MANAGER.

- https://packagist.drupal-composer.org/

- Herramienta de gestor de módulos.

Page 17: Drupal 8, de cero a producción en minutos

Drupal 8 básico- Theming.

- Utilizamos el tema para tener un control de la interfaz visual de nuestro portal.

- Dentro podemos personalizarlo.- Herramientas en theming (Sass, gulp, compass).- TEMPLATES, PREPROCESS, ETC ...

Page 18: Drupal 8, de cero a producción en minutos

Drupal 8 básico- CONFIGURATION MANAGER.

- LLevar la configuración entre distintos entornos de manera limpia.

Page 19: Drupal 8, de cero a producción en minutos

Drupal 8 básico

- DRUPAL CONSOLE.

- FORMULARIOS → FORMAPI .

Page 20: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

¿ESTÁS PREPARADO?

Page 21: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

- Nos dirigimos a /var/www/drupal8 y hacemos una descarga con drush de un drupal:

“drush dl drupal” → “rm -r drupal && mv drupal* drupal”

- Añadir al archivo /etc/hosts de nuestro anfitrión (fuera de vagrant) la siguiente línea:

“ 192.168.44.44 drupal8.dev ”

Page 22: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

- Instalación de drupal usando drush y el alias @drupal8:- “drush @drupal8 si ”

Page 23: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

- Creamos un directorio al nivel de drupal, llamado “configuration”.

-- Cambiamos el valor esta variable en

sites/default/settings.php del siguiente modo:

$config_directories['sync'] = '../configuration';

Page 24: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

- Tras hacer algunos cambios de estructura (por ejemplo nuevo tipo de contenido y una vista) podemos exportar estos cambios a archivos .yml a la carpeta configuration:

“drush cex”

- Lo mismo para el efecto contrario, importar desde archivos a nuestro drupal:

“drush cim”

Page 25: Drupal 8, de cero a producción en minutos

COMIENZO DEL PROYECTO

- Si queremos montar un portal copia del que estamos creando y que utilice la configuración que hemos salvado, el uuid del mismo debe coincidir (localizar en /configuration/system.site.yml):

“ drush config-set system.site uuid XXXXXX ”

Page 26: Drupal 8, de cero a producción en minutos

¡¡ MUCHAS GRACIAS !!