Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Herramientas de trabajo para entorno LAMP

1.458 visualizaciones

Publicado el

Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Herramientas de trabajo para entorno LAMP

  1. 1. Herramientas de trabajo para entorno LAMP Ruben Egiguren (keopx) 15/05/2015
  2. 2. Acerca de mí Drupal Developer, Software Libre enthusiast, new technologies and geek Ruben Egiguren a.k.a. keopx Profesional: www.isarea.com Blog: www.keopx.net Drupal: www.drupal.org/u/keopx Miembro de: • Drupal association • Asociación Española de Drupal • G.D.O Basque Country • … Freelance Drupal Developer
  3. 3. Introducción 3 Experts in Drupal solutions
  4. 4. Introducción Hablaremos de • Gestión de proyectos • Herramientas de desarrollo (IDE) • Entorno: LAMP • DevOps • Repositorio de código • Despliegue Experts in Drupal solutions 4
  5. 5. Introducción • Objetivo conocer qué partes están involucradas en el desarrollo de software. • Si, hablamos de LAMP también. • Todo es parte del mismo entorno de trabajo. • Importancia de conocer qué áreas están implicadas el desarrollo de software. 5 Experts in Drupal solutions
  6. 6. Introducción Para poder probar algunas de las tecnologías que hablaremos disponemos de los stacks de Bitnami que nos facilitara la instalación de los mismos para poder hacer pruebas. 6 Experts in Drupal solutions
  7. 7. Gestión de proyectos 7 Experts in Drupal solutions
  8. 8. Gestión de proyectos • Metodologías • PMI • Scrum • Kanban • Herramientas • Redmine • Trello • Taiga 8 Experts in Drupal solutions
  9. 9. Gestión de proyectos Redmine • Issue • Tipos, feature, bug, task…. • Estado • Nuevo, en progreso, resuelto, cerrado,... • Versiones • Gantt • Integración con repositorio de código: • Git, Subversion, Mercurial... • Wiki • Documentos • Ficheros • Plugin • Scrum 9 Experts in Drupal solutions
  10. 10. Gestión de proyectos Redmine • Issue 10 Experts in Drupal solutions
  11. 11. Gestión de proyectos Redmine • Gantt 11 Experts in Drupal solutions
  12. 12. Gestión de proyectos Redmine • Plugin Scrum 12 Experts in Drupal solutions
  13. 13. Gestión de proyectos Redmine Demo • https://bitnami.com/stack/redmine • Instalador • Máquina virtual • Docker 13 Experts in Drupal solutions
  14. 14. Gestión de proyectos Trello • Issues • Estado • Etiquetas • Asignados • Imágenes, ficheros…. • Drag and drop • Extensión para valoraciones • http://eminetto.github.io/blog/2014/01/05/project- management-using-github-and-zenhub/ 14 Experts in Drupal solutions
  15. 15. Gestión de proyectos Trello 15 Experts in Drupal solutions
  16. 16. Gestión de proyectos Trello 16 Experts in Drupal solutions
  17. 17. Gestión de proyectos Taiga • https://taiga.io/ • Backlog • Kanban • Task • Sprints • Issues 17 Experts in Drupal solutions
  18. 18. Herramientas de desarrollo (IDE) 18 Experts in Drupal solutions
  19. 19. Herramientas de desarrollo (IDE) • Libres • Netbeans | https://netbeans.org • Eclipse | https://eclipse.org • Sublimetext | http://www.sublimetext.com • Aptana | http://www.aptana.com • Pago • PHPStorm | https://www.jetbrains.com/phpstorm • Zend Srtudio | http://www.zend.com • Komodo | http://komodoide.com 19 Experts in Drupal solutions
  20. 20. Herramientas de desarrollo (IDE) Que nos ofrecen: • Autocompletado • Debug / testing • Formateador • Seguir el código entre clases y métodos. • Editor de HTML/CSS/JavaScript • Búsquedas avanzadas. • Integración con repositorios de código (prefiero la consola) • ... 20 Experts in Drupal solutions
  21. 21. Herramientas de desarrollo (IDE) Pero lo más importante es: Coding standards 21 Experts in Drupal solutions
  22. 22. Entorno LAMP 22 Experts in Drupal solutions
  23. 23. Entorno LAMP 23 Experts in Drupal solutions
  24. 24. Entorno LAMP Que nos ofrece: • Linux • Windows / Mac OS • Apache • Nginx • MySQL • MariaDB / Percona • PHP • Perl / Python 24 Experts in Drupal solutions
  25. 25. Entorno LAMP xDebug Que nos ofrece: • Ver los valores de las variables • Filtrar datos • Puntos de parada donde controlar las acciones • ... 25 Experts in Drupal solutions
  26. 26. Entorno LAMP WAMP Demo • https://bitnami.com/stack/wamp • Instalador • Docker 26 Experts in Drupal solutions
  27. 27. Entorno LAMP MAMP Demo • https://bitnami.com/stack/mamp • Instalador • Docker 27 Experts in Drupal solutions
  28. 28. Entorno LAMP Drupal Demo • https://bitnami.com/stack/drupal • Instalador • Máquina virtual • Docker 28 Experts in Drupal solutions
  29. 29. Entorno LAMP WordPress Demo • https://bitnami.com/stack/wordpress • Instalador • Máquina virtual • Docker 29 Experts in Drupal solutions
  30. 30. DevOps 30 Experts in Drupal solutions
  31. 31. DevOps • DevOps es un acrónimo inglés de development (desarrollo) y operations (operaciones) • Qué ofrece • Entornos configurados para su uso • Entornos aislados • Evitar conflictos de versiones y/o configuraciones • Agilizar la puesta a punto de los entornos de desarrollo/testing/producción • Entornos CI 31 Experts in Drupal solutions
  32. 32. DevOps Máquina Virtual (VM) • Simula a un ordenador • Un duplicado eficiente y aislado de una máquina física. • Algunos sistemas: • VirtualBox (Libre - escritorio) • QEMU (Libre - escritorio) • VMWARE (Gratis/Pago - escritorio/server) • KVM (Libre - server) • XEN (Libre - server) 32 Experts in Drupal solutions
  33. 33. DevOps • Pero la maquina virtual solo es una parte • Aísla el sistema pero… • No nos facilita muchas operaciones • Nos mantiene lo que hagamos, pero y si cambio algo y se “rompe” • No podemos desplegarlo tal y como está a producción • ... 33 Experts in Drupal solutions
  34. 34. DevOps 34 Experts in Drupal solutions DevOps es algo así como....
  35. 35. DevOps 35 Experts in Drupal solutions http://i.imgur.com/b1YihdT.gif
  36. 36. DevOps 36 Experts in Drupal solutions aprovisionamiento -> configuración -> despliegue -> ejecución
  37. 37. DevOps Vagrant • Vagrant es una aplicación escrita en Ruby • Facilita considerablemente la creación de entornos virtuales de desarrollo • Vagrant nos abstrae del sistema de virtualización • Nos permite instalar y configurar el software de la VM • Herramientas de automatización • Puppet, chef, ansible,... • Más info: www.vagrantup.com 37 Experts in Drupal solutions
  38. 38. DevOps Vagrant 38 Experts in Drupal solutions
  39. 39. DevOps Docker • Crear, enviar y ejecutar aplicaciones distribuidas. • Portable, ligero en ejecución y herramienta de empaquetado. • Más info: www.docker.com/ 39 Experts in Drupal solutions
  40. 40. DevOps Docker 40 Experts in Drupal solutions
  41. 41. DevOps Vagrant vs. Docker 41 Experts in Drupal solutions
  42. 42. DevOps Otros • Existen multitud de herramientas • Cada una tiene sus pros y sus contras • Cada uno utiliza lo que mejor se ajuste • Esto no es un biblia, pero al menos genera una idea de las posibilidades que tiene • .... 42 Experts in Drupal solutions
  43. 43. Repositorio de código 43 Experts in Drupal solutions
  44. 44. Repositorio de código Definición • Es la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo • Una versión, revisión o edición de un producto, es el estado en el que se encuentra el mismo en un momento dado de su desarrollo o modificación. • Se usa para controlar las distintas versiones del código fuente dando lugar a los sistemas de control de código fuente o SCM 44 Experts in Drupal solutions
  45. 45. Repositorio de código Un poco de historia • Sistemas de Control de Versiones Centralizados (CVCS) • SCCS -> 1972. • RCS -> 1982. • CVS -> 1986. • TeamWare -> 1990 • VSS -> 1994 • SVN -> 2000 • Sistemas de Control de Versiones Distribuidos (DVCS) • HG -> 2005 • Bazaar -> 2005 • Git -> 2005 45 Experts in Drupal solutions
  46. 46. Repositorio de código Los más usados actualmente • (CVCS) Sistemas de Control de Versiones Centralizados • SVN -> 2000 • (DVCS) Sistemas de Control de Versiones Distribuidos • Git -> 2005 46 Experts in Drupal solutions
  47. 47. Repositorio de código (CVCS) Sistemas de Control de Versiones Centralizados • Subversion (SVN) 47 Experts in Drupal solutions
  48. 48. Repositorio de código (DVCS) Sistemas de Control de Versiones Distribuidos • Git 48 Experts in Drupal solutions
  49. 49. Repositorio de código (DVCS) Sistemas de Control de Versiones Distribuidos 49 Experts in Drupal solutions CVCS ● CVS ● Subversion ● Perforce ● SourceSafe ● ... DVCS ● Git ● Mercurial ● Bazaar ● BitKeeper ● ...
  50. 50. Repositorio de código Repositorios gratuitos más usados • Github • No permite repositorios privados • Bitbucket • Permite repositorios privados • Gitlab • Permite repositorios privados 50 Experts in Drupal solutions
  51. 51. Herramientas para servidores de git • Gitblit • Gitlab • Gitolite • More • Git Software Repositorio de código Repositorios propios 51 Experts in Drupal solutions
  52. 52. Repositorio de código Gitorious Demo • https://bitnami.com/stack/gitorious • Instalador • Máquina virtual • Docker 52 Experts in Drupal solutions
  53. 53. Repositorio de código Gitlab Demo • https://bitnami.com/stack/gitlab • Instalador • Máquina virtual • Docker 53 Experts in Drupal solutions
  54. 54. Despliegue 54 Experts in Drupal solutions
  55. 55. Despliegue • Existen diferentes herramientas • FTP • WinSCP • Putty • Terminal • Git • .... 55 Experts in Drupal solutions
  56. 56. Despliegue Pero... • Automatizar • scripts • grunt • Ansible + jenkins • capistrano • Siempre automatizar 56 Experts in Drupal solutions
  57. 57. Eskerrik asko 57 Experts in Drupal solutions
  58. 58. 58 Experts in Drupal solutions
  59. 59. GNU/GPL Licence Experts in Drupal solutions | Web: www.isarea.com | Telefono: +34.630.100.444 | Email: isarea@isarea.com Freelance Drupal Developer Ruben Egiguren (keopx)

×