Publicado el 14 de Enero del 2017
805 visualizaciones desde el 14 de Enero del 2017
200,0 KB
26 paginas
Creado hace 12a (26/10/2012)
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de
instalación
Jonathan Araña Cruz – jonhattan
http://jonhattan.faita.net
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
● Drush make
● Perfiles de instalación
● Utilidades CLI
● Entornos
● Procedimientos
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Drush make
● Estructura makefiles
● Descarga:
● Proyectos
● Traducciones
● Librerías
● Aplica parches
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Drush make: ejemplos (I)
Ejemplo 1: Descarga básica de proyectos y librerías
$ drush make ejemplo01.make /tmp/make01
Ejemplo 2: Git, patches, --working-copy
$ drush make ejemplo02.make /tmp/make02a
$ drush make workingcopy ejemplo02.make
/tmp/make02b
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Drush make: ejemplos (II)
Ejemplo 3: Translations, defaults
En línea de comandos:
$ drush make translations=es,fr contrib
destination=sites/all/modules/contrib
ejemplo01.make /tmp/make03a
En makefiles:
$ drush make ejemplo03.make /tmp/make03b
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Drush make: ejemplos (III)
Ejemplo 4: Ejecutar partes del fichero make selectivamente
$ drush make nocore libraries=colorbox
projects=token,media ejemplo01.make
/tmp/make04
Ejemplo 5: Includes
$ drush make ejemplo05.make /tmp/make05
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Drush make: ejemplos (y IV)
Ejemplo 6: Recursive
Perfil de ejemplo: /home/jonhattan/dc2012/perfilcamp
$ drush make prepareinstall
makefiles/ejemplo06.make /var/www/dc2012/htdocs
Ejemplo 7: Generación automática de makefiles
$ cd /var/www/gcms/htdocs
$ drush makegenerate /tmp/gcms.make
$ drush makegenerate excludeversions
/tmp/gcms.make
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación
● Instalación de drupal
● Similaridad con módulos
● Perfil de ejemplo “perfilcamp”
● Sitio de prueba: http://dc2012
● Tres ficheros:
● .info
● .install (optativo)
● .profile (presencia requerida)
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación: Tareas
Fases del proceso de instalación:
1. Selección del perfil de instalación a utilizar
2. Selección del idioma base
3. Formulario para recoger parámetros de conexión a la bbdd
4. Instalación del perfil:
a) instalar los módulos requeridos por el core
b) instalar los módulos de los que depende el perfil
(definidos en el .info)
c) instalar el perfil propiamente: hook_install(), ...
5. Formulario de información del sitio (site name, timezone ...)
6. Tareas propias del perfil de instalación: hook_profile_tasks()
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación: Atajos (I)
Saltar directamente al paso 4:
➔ Pasar el perfil a instalar y el idioma por url:
http://dc2012/install.php?profile=dc2012perfil&locale=en
NOTA: para instalar en otro idioma != english:
a) translations/es.po
b) perfilcamp_profile_details();
➔ Añadir en settings.php los parámetros de la bbdd.
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación: Atajos (y II)
Establecer valores por defecto para el formulario
del paso 5:
➔ Alterar el formulario "install_form":
hook_form_install_configure_form_alter().
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación: Custom tasks
Implementar hook_install_tasks()
Tres tipos de tareas:
● standard
● form
● batch
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Perfil de instalación: herramientas
● drush profilegenerate
● profiler
● buildkit
● apps / panopoly
● subprofiles
● feature_set
● ...
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Utilidades CLI
● Site building desde CLI?
● Site building scripts !?
● Unos pocos comandos
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Utilidades CLI
Comandos en drush core:
● variable-set, etc
● config-set, etc (drush 6 - drupal 8)
● crear usuarios
● crear roles (drush_role)
● fields: create, clone, info, …
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Utilidades CLI
Otras extensiones:
● zenophile / omega_tools
● drush_language
● menu_import
● node_export
● drush_entity (create from json)
● drush_clone (clonar módulos y features)
● module_builder
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Utilidades CLI
TODO:
● crear content-types
● crear vocabularios y terms
● crear vistas!?
● …
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Trabajar con diferentes entornos
Moverse entre sitios locales y remotos:
● site-aliases
● cdd
● pushkey y site-ssh
Reconstruir entorno de trabajo:
● scripts a medida
● drush rebuild
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Trabajar con diferentes entornos
Sincronizar código / bbdd:
● rsync
● sql-sync
● sync_enable
● sql-compare
● drush_deploy
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Trabajar con diferentes entornos
TODO:
Algo similar a
http://drupal.org/project/environment
$ drush envswitch dev
$ drush envswitch prod
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Flujos de trabajo
● Miscelánea de utilidades
● Múltiples procedimientos
● Escoger según necesidades
● Ejemplos:
➔ Procedimiento "lanzadera"
➔ Procedimiento "a posteriori"
➔ Procedimiento "iterativo"
➔ Migración / Importación de contenidos
➔ Híbridos
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Flujos de trabajo: proc. “lanzadera”
Objetivo: tener rápidamente una base sobre la
que continuar el site building.
● Make con módulos de uso habitual
● Perfil con dependencies[]
● Mejora: uso de includes en make (reutilización)
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Flujos de trabajo: proc. “a posteriori”
Objetivo: generar distribución (o instalador) una
vez acabado el producto.
● drush makegenerate
● drush profilegenerate
● revisión, prueba y error
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Flujos de trabajo: proc. “iterativo”
Objetivos: desarrollo en equipo, sincronización continua,
replicabilidad, ..
1. Configurar entornos
2. Construir makefile (básico)
3. Construir profile (básico)
4. Elaboración de scripts para preparar el entorno y
(re)instalar (dgo.to/rebuild)
5. Ejecutar script (re)instalación
6. Site building, custom modules, theming,...
7. generar/actualizar features, make y profile, vcs,...
8. vuelta al paso 5
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
Flujos de trabajo: con importación
● Opción 1: reinstalar y migrar, ...
● Opción 2: reinstalar, dump, migrar, revisar,
corregir/ampliar código de migración, recuperar
dump, …
Procedimientos, herramientas y
estrategias para el desarrollo con
drush, make y perfiles de instalación
That's all folks!
Comentarios de: Procedimientos, herramientas y estrategias para el desarrollo con drush, make y perfiles de instalación (0)
No hay comentarios