Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue
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. 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. 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
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. Herramientas de desarrollo (IDE)
Pero lo más importante es:
Coding standards
21
Experts in Drupal solutions
24. Entorno LAMP
Que nos ofrece:
• Linux
• Windows / Mac OS
• Apache
• Nginx
• MySQL
• MariaDB / Percona
• PHP
• Perl / Python
24
Experts in Drupal solutions
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
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. 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. 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
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
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
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
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. 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. 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. Repositorio de código
(CVCS) Sistemas de Control de Versiones Centralizados
• Subversion (SVN)
47
Experts in Drupal solutions
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. 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. Herramientas para servidores de git
• Gitblit
• Gitlab
• Gitolite
• More
• Git Software
Repositorio de código
Repositorios propios
51
Experts in Drupal solutions