Sunteți pe pagina 1din 52

Infraestructura de

Desarrollo gil
Ing. Adrian Moya
Mrida, Octubre de 2011
Como apoyarnos en herramientas libres
para construir softare aplicando !crum "
#$.
1 de %2

Agenda
1. Introducci&n.
2. Infraestructura.
'. Construcci&n.
(. )tili*aci&n.
%. Conclusiones.
2 de %2

Infraestructura de Desarrollo gil
+n casa de herrero, cuchillo de palo
' de %2

Infraestructura gil
,-u necesitamos.
( de %2

Prcticas y requerimientos
SCRUM: Planificar y Gestionar el royecto

/le0ar control de las historias de usuario.

$lanificar las entregas en iteraciones.

Medir el a0ance del e1uipo.


!P: Prcticas de Desarrollo

2uena comunicaci&n del e1uipo.

Control de 0ersiones de c&digo.

Integrar c&digo continuamente.

$ruebas unitarias de c&digo.


% de %2

Infraestructura gil
Estaciones de trabajo
Servidor Controlador
de Versiones
Servidor de
Informacin
Servidor de
Scrum
Servidor de
Integracin Continua
Servidor de
Desarrollo
Servidor de
Calidad
3 de %2

Ser"idor de Scrum
4 de %2

Ser"idor de Scrum

5erramienta 1ue lle0a el control del proceso


!crum.

67cil instalaci&n y configuraci&n.

2ac8log de producto automati*ado.

$lanificaci&n de +ntregas e Iteraciones.

9ablero de acti0idad del proyecto.

:r7ficas de 2urndon, ;elocidad entre otras.


< de %2

Ser"idor de Informaci#n
=o8u>i8i
? de %2

Ser"idor de Informaci#n

>i8i sencillo de usar.

2asado en archi0os de te@to Ano re1uiere =2B.

!inta@is simple pero poderosa.

C7pido.

9emati*able

+@tensible 0Da plugins.


=o8u>i8i
10 de %2

Ser"idor Controlador de $ersiones
11 de %2

!istema de control de 0ersiones centrali*ado.

67cil uso y e@celente documentaci&n.

!oporte de ramas y eti1uetas.

!oporte de archi0os binarios.

Cliente 9ortoise Aintegraci&n en >indosB y


Cabit;C! A/inu@B.

$uede ser ser0ido a tra0s de apache.


Ser"idor Controlador de $ersiones
12 de %2

Ser"idor de integraci#n continua
1' de %2

Ser"idor de integraci#n continua

5erramienta 1ue monitorea la eEecuci&n de


trabaEos repetiti0os.

Construcci&n y prueba de proyectos de manera


continua.

67cil instalaci&n y configuraci&n.

!oporta mFltiples control de 0ersiones.

Gotificaciones por C!!HCorreo.

+@tensible 0Da plugins.


1( de %2

Ser"idores de Desarrollo y Calidad
1% de %2

Infraestructura gil
Estaciones de trabajo
Servidor Controlador
de Versiones
Servidor de
Informacin
Servidor de
Scrum
Servidor de
Integracin Continua
Servidor de
Desarrollo
Servidor de
Calidad
=o8u>i8i
13 de %2

Imlementando la Infraestructura
,C&mo instalo todo esto.
14 de %2

Imlementando la Infraestructura

/ibrerDa de aplicaciones 1ue incluye lo meEor


del softare libre en un formato empa1uetado y
listo para usar.

!er0idores basados en )buntu 10.0( /9!.

Optimi*ados para facilidad de uso y despliegue


r7pido As&lo minutosB.

Instalables en ser0idores fDsicos, m71uinas


0irtuales o en la nube.
1< de %2

!er0idor de !crum
IcescrumI
Imagen Comunitaria.
=esarrollada por
Adrian Moya.
!er0idor de Informaci&n
=o8ui8iI
Imagen Oficial
=o8ui8i
!er0idor de Control ;ersiones
!ub0ersionI
Imagen Oficial
!ource Control
!0nH:itH2*rH5g
!er0idor de Int. Continua
Jen8insI
Imagen Comunitaria.
=esarrollada por
Adrian Moya.
Imlementando la Infraestructura
1? de %2

!er0idor de =esarrollo H CalidadI
/AM$H/A$$ 9omcat $ostgre!-/ My!-/
Imlementando la Infraestructura
20 de %2

Consolidar ser0idores 0irtuali*andoI
Intel Core2-uad (:2 CAM '20:2 =isco
!OI $ro@mo@K;+
1% !er0idores O;L A9O=A /A IG6CA+!9C)C9)CA"B
Imlementando la Infraestructura
21 de %2

Utili%ando la Infraestructura
22 de %2

1. Crear el proyecto y asignarHcrear el e1uipo.
Utili%ando & Icescrum
2' de %2

2. Construir las historias y caracterDsticas en el
7rea de ensayo.
Utili%ando & Icescrum
2( de %2

'. $asar las historias listas AaceptarlasB a la $ila del
producto y priori*arlas con el $roduct Oner.
Utili%ando & Icescrum
2% de %2

(. +stimar las historias con el e1uipo A$oc8er
planningB.
Utili%ando & Icescrum
23 de %2

%. $lanificar historias en el sprint.
Utili%ando & Icescrum
24 de %2

3. =i0idir historias en tareas y estimar en horas.
Utili%ando & Icescrum
2< de %2

4. Iniciar la iteraci&n. +l e1uipo toma las tareas y las pone en progreso. A medida 1ue trabaEa
actuali*a las horas restantes.
Utili%ando & Icescrum
2? de %2

<. Monitoriar el progreso de la iteraci&n.
Utili%ando & Icescrum
'0 de %2

?. 6in de la iteraci&n K Cetrospecti0a
Utili%ando & Icescrum
'1 de %2

Utili%ando & Do'u(i'i
Informaci#n general:
1. Informaci&n de contacto de los miembros del
e1uipo.
2. +st7ndares de trabaEo.
'2 de %2

Informaci#n or royecto:
1. Configuraciones del repositorio de c&digo.
2. =ocumentosHInformaci&n 1ue respalden las
historias.
'. CecursosI +nlaces a !er0idor IC, Ambientes de
=esarrollo y Calidad.
Utili%ando & Do'u(i'i
'' de %2

Utili%ando & Do'u(i'i
'( de %2

Utili%ando & S$)
Mantener el c#digo organi%ado de acuerdo al
estndar:
9run8 H 9ags H 2ranches
'% de %2

Utili%ando & *en'ins
Comen%amos instalando lugins:
Control de "ersiones: !ub0ersion, :it
+erramienta de construcci#n: !ymfony AphpB,
:rails A:roo0yB, Cails ACubyB, =Eango A$ythonB,
Ja0a
Anlisis: An7lisis de C&digo +st7tico, =CM,
2uenas pr7cticas, etc.
Post&construcci#n: Construir reportes, reali*ar
despliegues.
)otificaciones: +mail, etc.
'3 de %2

1. Crear el proyecto A:eneralmente estilo libreB
Utili%ando & *en'ins
'4 de %2

2. Configurar el repositorio de codigo Atrun8B.
Utili%ando & *en'ins
'< de %2

'. Configurar el disparador de eEecuci&n.
Utili%ando & *en'ins
'? de %2

(. Configurar pasos de eEecuci&n.
(.1. $ruebas unitariasHfuncionales.
Utili%ando & *en'ins
(0 de %2

(.2. An7lisis de c&digo est7tico y reportes.
Utili%ando & *en'ins
(1 de %2

(.'. Construcci&n de la aplicaci&n
Utili%ando & *en'ins
(2 de %2

%. =esplegar en ambiente de desarrollo.
Utili%ando & *en'ins
(' de %2

3. GotificacionesI
Utili%ando & *en'ins
(( de %2

Monitorear las construccionesI
Utili%ando & *en'ins
(% de %2

Algunas recomendaciones de trabaEoI

Configurar lDmites de N0iolacionesO a las reglas


aceptables.

!i el build se rompe, hay 1ue repararlo de


inmediato.
Utili%ando & *en'ins
(3 de %2

+l ser0idor a utili*ar depender7 del tipo de


aplicaci&n 1ue estemos construyendo.

+n el ser0idor de desarrollo siempre estar7


disponible la Fltima 0ersi&n de la aplicaci&n
Adesplegada por el !er0idor de IC desde trun8B.

+n el ser0idor de calidad estar7n las 0ersiones


al final de una iteraci&n AsprintB.

+l ser0idor de calidad debe ser una CO$IA


6I+/ del ambiente de producci&n.
Utili%ando , D-$ y .A
(4 de %2

Conclusiones

=ebemos apoyarnos en un ecosistema de


herramientas 1ue faciliten nuestro trabaEo y nos
permitan atender r7pidamente cual1uier
e0entualidad 1ue pueda presentarse.

+l tiempo in0ertido en montar la infraestructura


se 0e compensando enormemente con las
0entaEas obtenidas de automati*ar nuestro
proceso de desarrollo 7gil.

=ebemos aprender a utili*ar las herramientas,


pues de lo contrario el resultado ser7 el mismo
1ue como si no estu0iramos utili*7ndolas.
(< de %2

Recomendaciones

Implementar una herramienta yHo pr7ctica a la


0e*.

$ara el maneEo de incidencias, se usa el Area


de +nsayo de Icescrum, pero podrDa
incorporarse una herramienta de maneEo de
incidencias si fuera necesario AChili$roEectB.

$ara el maneEo centrali*ado de usuarios y


cla0es, se ha pensado agregar un ser0idor de
autenticaci&n AOpen/=A$B.
(? de %2

Recursos
Icescrum P httpIHH.icescrum.orgH
=o8ui8i P httpIHH.do8ui8i.orgH
!ub0ersion P httpIHHsub0ersion.apache.orgH
Jen8ins P httpIHH.Een8insKci.orgH
9urn8eylinu@ P httpIHH.turn8eylinu@.orgH
%0 de %2

Preguntas
%1 de %2

Gracias or su atenci#n
$ara comentariosHpreguntas, pueden
hacerlo a
adrianmoyaQgmail.com
9itter K Qadrianmoya
2log P httpIHH.adrianmoya.com
%2 de %2

S-ar putea să vă placă și