Subido por diego kraenau

semana 05

Anuncio
• Es una práctica donde todos los
miembros de un equipo
integran su trabajo
frecuentemente como mínimo
de forma diaria.
• Cada integración es verificada
por un build automático que
detecta errores de integración
tan pronto como sea posible.
Constantemente monitorean los
repositorios y apenas detectan un
nuevo cambio, inician un nuevo ciclo de
build.
Involucra:
• Compilación del código
• Ejecución de las pruebas
• Verificación de violaciones de
estándares (métricas)
• Notificación de errores ante fallas
• Generación de documentación,
reportes, etc.
Un build (compilación) es simplemente un objeto que identifica
el producto de software fabricado. El código fuente y los scripts
de compilación son las materias primas; el proceso de fabricación
comienza cuando se inicia una construcción; y las bibliotecas
resultantes, los ejecutables y otros archivos de soporte son el
resultado.
http://msdn.microsoft.com/en-us/library/ms364061.aspx
Un “build” es el producto
generado por la realización de
las tareas de compilación,
prueba, inspección e
instalación. Realizar un “build”
tiene como resultado situar el
código todo junto en un
ambiente donde funciona de
una manera cohesiva. ”
Mejor la productividad de desarrollo
Encuentre y arregle los errores con mayor
rapidez
Entregue las actualizaciones con mayor rapidez
Mantener un
único
repositorio
Mantener una
ejecución
rápida de la
construcción
del proyecto
Elaboración y
ejecución de
los test de la
construcción
del proyecto
Mantener las
pruebas de
integración en
máquinas
réplicas del
entorno de
producción
Automatizar la
construcción
del proyecto
Integrar como
mínimo una
vez al día los
cambios en la
línea principal
Construir la
línea principal
en la máquina
de integración
Almacenar los
ejecutables de
las versiones
del proyecto
Percepción
rápida del
estado y
cambios del
sistema
Automatizar el
despliegue
Software para control de versiones
• SVN, CSV, clearcase, git, etc.
Escriba unidades de prueba para el código
• NUnit, Junit, Xunit,TestNG
Ponga en uso alguna herramienta de CI
• Jenkins, Travis CI, Bamboo, GitLab CI
Utilice IC desde el inicio del proyecto, luego es complicado
Sea constante con la práctica de CI
https://sourceforge.net/projects/cruisecontrol/files/CruiseControl/2.8
.4/
https://sourceforge.net/projects/ccnet/files/CruiseControl.NET%20Relea
ses/)
Hudson (http://hudson-ci.org/latest/hudson.war)
Apache Continuum
(http://continuum.apache.org/download.html)
1.Manejo de Bibliotecas
2.Lineas de Base
3.Check out / Check in
4.Mezclas y Resolución de Conflictos
Almacenamiento controlado
del software y su
documentación asociada
durante el desarrollo, uso y
mantención del software.
Típicamente, se compone de
una biblioteca principal, una
biblioteca de producción, y un
repositorio de software.
La biblioteca principal contiene todos los ítems de configuración (ECS)
revisados y aprobados, y por lo tanto pertenecientes a un baseline.
La biblioteca de producción es la responsable de
almacenar el software durante su construcción y prueba, una vez que
éste sea aprobado pasa a la biblioteca principal. El repositorio es la
entidad que almacena el software y su documentación una vez
que éste ha sido liberado.
Biblioteca de
trabajo
Biblioteca de
integración
Biblioteca de
soporte al
proyecto
Biblioteca de
producción
Biblioteca
maestra
Biblioteca
principal
Repositorio de
software
Biblioteca de
backup
Es una especificación o
producto que ha sido revisado
formalmente y aceptado por la
administración responsable,
que a partir de entonces sirve
como la base para un mayor
desarrollo, y solo se puede
cambiar a través de
procedimientos formales de
control de cambios
La gestión de la configuración de software es un método para controlar el
desarrollo de software y los cambios a lo largo de todo el ciclo de vida. Se
asegura de:
•
•
•
•
Cada cambio en el software ha sido confirmado y documentado.
Los cambios no se pierden.
El quién y el qué de un cambio están documentados.
Se puede volver a una versión anterior del software en cualquier
momento.
Check out
Check in
Permite al usuario editar el
archivo. Se crea un bloqueo
en el archivo, lo que impide
que otros usuarios puedan
sobrescribir otros cambios
en cada uno.
Se elimina el bloqueo en el
archivo. Después de editar
el archivo, puede cargar la
ultima versión del archivo.
El check out exclusivo permite a los desarrolladores bloquear un archivo
para que nadie más pueda trabajar en él hasta que se terminan los
trabajos y procede a liberarlo.
El check out colaborativo permite a varios desarrolladores trabajar sobre
un mismo archivo y, ala hora de fusionarlo se realizará un “control de
cambios” que identificará los cambios de cada desarrollador, sin que se
pierdan cambios de cada colaborador.
“Merge” es cuando el sistema de control de versiones se encuentra con
que dos personas han cambiado el mismo archivo, pero de manera que
no se superponen. Cuando dos cambios diferentes se superponen, el
resultado es un “conflicto”.
Este tipo de conflictos pueden no ser resueltos de forma automática,
entonces necesitará la intervención de un usuario.
PREGUNTAS
Descargar