Facultad de Ciencias Informáticas
Desarrollo de Aplicaciones Web
Unidad 4 Sistema de Control de
versiones
PhD(c). Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
luis.aguas@utm.edu.ec
Objetivos de Desarrollo Sostenible
Meta
4.7 De aquí a 2030, asegurar que todos los alumnos adquieran
los conocimientos teóricos y prácticos necesarios para promover
el desarrollo sostenible, entre otras cosas mediante la educación
para el desarrollo sostenible y los estilos de vida sostenibles, los
derechos humanos, la igualdad de género, la promoción de una
cultura de paz y no violencia, la ciudadanía mundial y la
valoración de la diversidad cultural y la contribución de la cultura
al desarrollo sostenible
No hay caminos para la paz; la paz es el camino
Resultado de Aprendizaje
• Diseñar un producto de
software en el que se
apliquen principios de
diseño, para que sea
robusto, fácil de mantener
y modificar
Contenido
• Unidad 4 Sistema de Control de
versiones
• 4.1 Introducción a VCS
• 4.1.1 Sistemas de control de
versiones
ELO329 - Diseño y Programación Orientado a Objetos 5
Control de Versiones
• ”Se llama control de versiones a la gestión de
los diversos cambios que se realizan sobre los
elementos de algún producto o una
configuración del mismo” - San Wikipedia
ELO329 - Diseño y Programación Orientado a Objetos 6
¿Qué podemos hacer?
Almacenar
archivos
Gestionar
archivos
Registrar
cambios
SVN
ELO329 - Diseño y Programación Orientado a Objetos 7
Conceptos Generales
• El elemento principal para el funcionamiento es
llamada repositorio.
• Se debe trabajar localmente duplicando o
descargando la versión del repositorio por
medio de checkout.
ELO329 - Diseño y Programación Orientado a Objetos 8
Introducción a Subversion
• Subversion es un sistema de control de
versiones con licencia OpenSource Apache.
• Utiliza modelo Cliente-Servidor para
administrar el elemento principal repositorio.
ELO329 - Diseño y Programación Orientado a Objetos 9
Modelo de acciones de trabajo
repo
cliente1 cliente2 cliente3
ELO329 - Diseño y Programación Orientado a Objetos 10
Principales Acciones (Comandos)
• Checkout: descarga una copia privada de la
última versión del proyecto, es decir, una
working copy,a nuestra máquina.
• Update: se usa para actualizar nuestra working
copy con los últimos cambios hechos por
nuestros compañeros.
• Commit: envía al repositorio los cambios que
hicimos en nuestra copia privada.
ELO329 - Diseño y Programación Orientado a Objetos 11
Modelos de Codificación
• Utilizando un diseño incremental donde se van
agregando módulos al sistema.
• Se utiliza un sistema de árbol para almacenar
las fuentes del sistema (sourcecode).
• Rama principal o trunk para almacenar el
desarrollo principal.
• Los desarrollos en paralelo se guardan en las
ramas o branches.
ELO329 - Diseño y Programación Orientado a Objetos 12
Árbol jerárquico
En resumen nuestro árbol de directorios se
compone de:
Trunk: Rama de desarrollo principal.
Tags: Rama de gestión de versiones. Reservado
para versiones cerradas, por tanto no se
desarrollará sobre esta rama.
Branches: Rama con evoluciones paralelas al
Trunk.
ELO329 - Diseño y Programación Orientado a Objetos 13
Clientes y Servidores SVN
• Clientes permiten conectarse al repositorio. En
Windows TortoiseSVN. Eclipse y Netbeans
pueden instalar plugins.
• Servidores son fácilmente configurables
mediante paquetes y configuraciones de
Apache Web Server.
ELO329 - Diseño y Programación Orientado a Objetos 14
Introducción uso GoogleCode
• Google Code provee un hosting para
proyectos (Project Hosting).
• Entrega herramientas como SVN, Wiki y
herramientas para administrar respositorios.
• Utiliza cuenta Google (gratuita) para acceder a
éstos.
ELO329 - Diseño y Programación Orientado a Objetos 15
Creación de un Proyecto
Llenar formulario: Elegir Subversion como
control de versiones
Crear
Usar
ELO329 - Diseño y Programación Orientado a Objetos 16
Netbeans & GoogleCode
• El primer paso siempre es hacer Checkout.
Utilizaremos la carpeta trunk del SVN.
• Desde Netbeans Team > Checkout
• GoogleCode provee una URI y un nombre de
usuario y contraseña:
• ej: https://tarea1-elo329.googlecode.com/svn/trunk/
• Username es el nombre de la cuenta google y la
contraseña se obtiene desde un link.
ELO329 - Diseño y Programación Orientado a Objetos 17
Empezando a trabajar con las versiones
• Para que los cambios se vean reflejados se debe
hacer un commit en Team > Commit.
• Si trabajamos en conjunto con otros desarrolladores
siempre se recomienda antes de hacer nuevos
cambios realizar un Update Team > Update.
• Podemos revisar las diferencias entre nuestras
copias locales y las del repositorio con Team > Diff
ELO329 - Diseño y Programación Orientado a Objetos 18
Buenas prácticas de uso
• Para evitar errores se recomienda:
 Tener bien definida la estructura del proyecto (trunk
,tags, branches).
 Siempre hacer un Update antes de empezar a
trabajar.
 Realizar commits sólo al final de la jornada o cuando
se estime que es necesario reflejar cambios.
 Realizar commits de archivos relevantes (”de a uno”)
”don't blanket commit”.
 Agregar pequeños comentarios a los Commits para
describir lo que se realizó.
ELO329 - Diseño y Programación Orientado a Objetos 19
¿Qué rescatamos de Subversion?
• Facilita el trabajo colaborativo.
• Entrega historial de revisiones y copias.
• Puede ser visto en una páginas web y hacer
correciones 'on the fly'.
• Permite manejar varios tipos de archivos.
• Manejo de branches y tags.
ELO329 - Diseño y Programación Orientado a Objetos 20
Referencias y más info
• Control de Versiones con SubVersion
http://svnbook.red-bean.com/nightly/es/index.htm
• Buenas prácticas para el uso de SubVersion
http://blogs.tecsisa.com/articulos-tecnicos/buenas-practicas-de-gestion-
de-versiones-con-subversion/
• Getting Started Google Code
http://code.google.com/p/support/wiki/GettingStarted
• ¿Cómo usar TortoiseSVN [Windows]?
http://nosoyfriky.wordpress.com/2010/04/21/como-usar-tortoisesvn-
manual-bsico/
• The Perfect Subversion Server [Debian/Ubuntu]
http://www.howtoforge.com/the-perfect-subversion-server-debian-lenny-
ispconfig-3
GITLAB HISTORIA
• GitLab nació como un sistema de alojamiento de
repositorios Git, es decir, un hosting para proyectos
gestionados por el sistema de versiones Git. Sin
embargo, alrededor de esta herramienta han surgido
muchas otras herramientas muy interesantes para
programadores y equipos de desarrollo, que
envuelven todo el flujo del desarrollo y el despliegue
de aplicaciones, test,
Instalar en tu servidor o usarlo como
servicio web
• La principal diferencia entre GitLab y sus
competidores es que GitLab se ofrece como un
software libre que puedes descargar e instalar en
cualquier servidor. Esta posibilidad permite usar
GitLab para una empresa, profesional u organización
en sus propios servidores, sin ningún coste adicional.
Funcionalidades de GitLab
• En GitLab podemos gestionar principalmente
proyectos, Grupos y Sinppets. Los proyectos son los
protagonistas del sistema, básicamente repositorios
de software gestionados por GitLab y todo el
ecosistema GitLab. Los grupos son básicamente
empresas y usuarios. Los snippets por su parte son
como pedazos de código que puedes dejar para hacer
cualquier cosa.
Gracias
Somos UTM

Más contenido relacionado

PDF
PPTX
Conceptos-HTML-y-JavaScript-Bloque-0-Introduccion-a-nuestro-entorno-de-desarr...
PDF
[ES] Control de versiones con subversion
PPTX
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
PDF
[ES] Sistemas de control de versiones
PPTX
01 T1 2021 Sistemas Embebidos.pptx
PDF
DevOps+[Chef/Docker]
PPTX
PROCESO UNIFICADO
Conceptos-HTML-y-JavaScript-Bloque-0-Introduccion-a-nuestro-entorno-de-desarr...
[ES] Control de versiones con subversion
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
[ES] Sistemas de control de versiones
01 T1 2021 Sistemas Embebidos.pptx
DevOps+[Chef/Docker]
PROCESO UNIFICADO

Similar a S14-DAW-2022S1.pptx (20)

PPTX
Desarrollo y diseño de software
PPTX
Ingeniería de software
ODP
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
PPTX
Ingeniería de software Definicion,inicion,importancia y utilidad
PDF
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
PDF
Plone CMS, como herramienta de apoyo a los procesos educativos
PPTX
Ingeniería de software
PPTX
Ingeniería%20de%20 software[1], maryy
PPTX
Ingeniería de software16
PPTX
Clase 11
PPTX
Ingeniería de software
PPTX
Ingenier%c3%ada de software
PPTX
Ingeniería de software
PPTX
Ingen de software
DOCX
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
PDF
Continuous Delivery
PDF
Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE
PPTX
Ingenieria en software
PDF
Web Proyecto CODEPAM
PDF
Tema 1 Control de Versiones
Desarrollo y diseño de software
Ingeniería de software
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Ingeniería de software Definicion,inicion,importancia y utilidad
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos
Ingeniería de software
Ingeniería%20de%20 software[1], maryy
Ingeniería de software16
Clase 11
Ingeniería de software
Ingenier%c3%ada de software
Ingeniería de software
Ingen de software
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Continuous Delivery
Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EE
Ingenieria en software
Web Proyecto CODEPAM
Tema 1 Control de Versiones
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
Publicidad

Último (20)

PPTX
MEDIDAS ELECTRICAS electricas de tecnica
PPT
SEGURIDAD E HIGIENE INDUSTRIAL Y RRHH.ppt
PDF
Conceptos Básicos Presentación 12 de marzo.pdf
PDF
desarrollo de molinos de flsmidth es un tema muy interesante biene informacio...
PPT
Segruidad ocupacioanal y riesgos laborles_parte2.ppt
DOCX
P.CELI.10 OPERACIÓN DE BOMBA DE AGUA.docx
PDF
Semana 1_Sistema Empresa.pdfKLZNSCNS.,DNKC
PDF
ANÁLISIS DE CASOS - PARQUE INTERACTIVO DEPORTIVO
PPTX
asistencia alimentaria en caso de emerge
PDF
SEMINARIO SOLDADURA FCAW 262024ACTUALEDIT (1) (1).pdf
PDF
Uso básico del microcontrolador para medición y control - LibreTexts Español.pdf
PPTX
psoriasis-220513045257-a03f59a9 (1).pptx
PPTX
GESTION DE OPERACION Y MANTENIMIENTO DE CENTRALES DE GENERACION. (1).pptx
PDF
REALITY "Vive como quieras ser" Un año sobre el terreno creando un escenario ...
PDF
EXPOSICIÓN SEM 7 PERIODO REPUBLICANO DEL PERU-GRUPO 04.pdf
PPTX
EVALUACIÓN DE IMPACTO AMBIENTAL PARA PROYECTOS.pptx
PDF
GUIAS_TECNICAS_T1-OC DEL SEGURO SOCIAL.pdf
PPTX
Unidad 12 Normas Iso y RRHH cent 11.pptx
PPTX
1.definiciones para Trabajos en Caliente.pptx
PPTX
TP 8 – ResoluciónsuperFantasticanivelgod.pptx
MEDIDAS ELECTRICAS electricas de tecnica
SEGURIDAD E HIGIENE INDUSTRIAL Y RRHH.ppt
Conceptos Básicos Presentación 12 de marzo.pdf
desarrollo de molinos de flsmidth es un tema muy interesante biene informacio...
Segruidad ocupacioanal y riesgos laborles_parte2.ppt
P.CELI.10 OPERACIÓN DE BOMBA DE AGUA.docx
Semana 1_Sistema Empresa.pdfKLZNSCNS.,DNKC
ANÁLISIS DE CASOS - PARQUE INTERACTIVO DEPORTIVO
asistencia alimentaria en caso de emerge
SEMINARIO SOLDADURA FCAW 262024ACTUALEDIT (1) (1).pdf
Uso básico del microcontrolador para medición y control - LibreTexts Español.pdf
psoriasis-220513045257-a03f59a9 (1).pptx
GESTION DE OPERACION Y MANTENIMIENTO DE CENTRALES DE GENERACION. (1).pptx
REALITY "Vive como quieras ser" Un año sobre el terreno creando un escenario ...
EXPOSICIÓN SEM 7 PERIODO REPUBLICANO DEL PERU-GRUPO 04.pdf
EVALUACIÓN DE IMPACTO AMBIENTAL PARA PROYECTOS.pptx
GUIAS_TECNICAS_T1-OC DEL SEGURO SOCIAL.pdf
Unidad 12 Normas Iso y RRHH cent 11.pptx
1.definiciones para Trabajos en Caliente.pptx
TP 8 – ResoluciónsuperFantasticanivelgod.pptx

S14-DAW-2022S1.pptx

  • 1. Facultad de Ciencias Informáticas Desarrollo de Aplicaciones Web Unidad 4 Sistema de Control de versiones PhD(c). Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft [email protected]
  • 2. Objetivos de Desarrollo Sostenible Meta 4.7 De aquí a 2030, asegurar que todos los alumnos adquieran los conocimientos teóricos y prácticos necesarios para promover el desarrollo sostenible, entre otras cosas mediante la educación para el desarrollo sostenible y los estilos de vida sostenibles, los derechos humanos, la igualdad de género, la promoción de una cultura de paz y no violencia, la ciudadanía mundial y la valoración de la diversidad cultural y la contribución de la cultura al desarrollo sostenible
  • 3. No hay caminos para la paz; la paz es el camino
  • 4. Resultado de Aprendizaje • Diseñar un producto de software en el que se apliquen principios de diseño, para que sea robusto, fácil de mantener y modificar Contenido • Unidad 4 Sistema de Control de versiones • 4.1 Introducción a VCS • 4.1.1 Sistemas de control de versiones
  • 5. ELO329 - Diseño y Programación Orientado a Objetos 5 Control de Versiones • ”Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo” - San Wikipedia
  • 6. ELO329 - Diseño y Programación Orientado a Objetos 6 ¿Qué podemos hacer? Almacenar archivos Gestionar archivos Registrar cambios SVN
  • 7. ELO329 - Diseño y Programación Orientado a Objetos 7 Conceptos Generales • El elemento principal para el funcionamiento es llamada repositorio. • Se debe trabajar localmente duplicando o descargando la versión del repositorio por medio de checkout.
  • 8. ELO329 - Diseño y Programación Orientado a Objetos 8 Introducción a Subversion • Subversion es un sistema de control de versiones con licencia OpenSource Apache. • Utiliza modelo Cliente-Servidor para administrar el elemento principal repositorio.
  • 9. ELO329 - Diseño y Programación Orientado a Objetos 9 Modelo de acciones de trabajo repo cliente1 cliente2 cliente3
  • 10. ELO329 - Diseño y Programación Orientado a Objetos 10 Principales Acciones (Comandos) • Checkout: descarga una copia privada de la última versión del proyecto, es decir, una working copy,a nuestra máquina. • Update: se usa para actualizar nuestra working copy con los últimos cambios hechos por nuestros compañeros. • Commit: envía al repositorio los cambios que hicimos en nuestra copia privada.
  • 11. ELO329 - Diseño y Programación Orientado a Objetos 11 Modelos de Codificación • Utilizando un diseño incremental donde se van agregando módulos al sistema. • Se utiliza un sistema de árbol para almacenar las fuentes del sistema (sourcecode). • Rama principal o trunk para almacenar el desarrollo principal. • Los desarrollos en paralelo se guardan en las ramas o branches.
  • 12. ELO329 - Diseño y Programación Orientado a Objetos 12 Árbol jerárquico En resumen nuestro árbol de directorios se compone de: Trunk: Rama de desarrollo principal. Tags: Rama de gestión de versiones. Reservado para versiones cerradas, por tanto no se desarrollará sobre esta rama. Branches: Rama con evoluciones paralelas al Trunk.
  • 13. ELO329 - Diseño y Programación Orientado a Objetos 13 Clientes y Servidores SVN • Clientes permiten conectarse al repositorio. En Windows TortoiseSVN. Eclipse y Netbeans pueden instalar plugins. • Servidores son fácilmente configurables mediante paquetes y configuraciones de Apache Web Server.
  • 14. ELO329 - Diseño y Programación Orientado a Objetos 14 Introducción uso GoogleCode • Google Code provee un hosting para proyectos (Project Hosting). • Entrega herramientas como SVN, Wiki y herramientas para administrar respositorios. • Utiliza cuenta Google (gratuita) para acceder a éstos.
  • 15. ELO329 - Diseño y Programación Orientado a Objetos 15 Creación de un Proyecto Llenar formulario: Elegir Subversion como control de versiones Crear Usar
  • 16. ELO329 - Diseño y Programación Orientado a Objetos 16 Netbeans & GoogleCode • El primer paso siempre es hacer Checkout. Utilizaremos la carpeta trunk del SVN. • Desde Netbeans Team > Checkout • GoogleCode provee una URI y un nombre de usuario y contraseña: • ej: https://tarea1-elo329.googlecode.com/svn/trunk/ • Username es el nombre de la cuenta google y la contraseña se obtiene desde un link.
  • 17. ELO329 - Diseño y Programación Orientado a Objetos 17 Empezando a trabajar con las versiones • Para que los cambios se vean reflejados se debe hacer un commit en Team > Commit. • Si trabajamos en conjunto con otros desarrolladores siempre se recomienda antes de hacer nuevos cambios realizar un Update Team > Update. • Podemos revisar las diferencias entre nuestras copias locales y las del repositorio con Team > Diff
  • 18. ELO329 - Diseño y Programación Orientado a Objetos 18 Buenas prácticas de uso • Para evitar errores se recomienda:  Tener bien definida la estructura del proyecto (trunk ,tags, branches).  Siempre hacer un Update antes de empezar a trabajar.  Realizar commits sólo al final de la jornada o cuando se estime que es necesario reflejar cambios.  Realizar commits de archivos relevantes (”de a uno”) ”don't blanket commit”.  Agregar pequeños comentarios a los Commits para describir lo que se realizó.
  • 19. ELO329 - Diseño y Programación Orientado a Objetos 19 ¿Qué rescatamos de Subversion? • Facilita el trabajo colaborativo. • Entrega historial de revisiones y copias. • Puede ser visto en una páginas web y hacer correciones 'on the fly'. • Permite manejar varios tipos de archivos. • Manejo de branches y tags.
  • 20. ELO329 - Diseño y Programación Orientado a Objetos 20 Referencias y más info • Control de Versiones con SubVersion http://svnbook.red-bean.com/nightly/es/index.htm • Buenas prácticas para el uso de SubVersion http://blogs.tecsisa.com/articulos-tecnicos/buenas-practicas-de-gestion- de-versiones-con-subversion/ • Getting Started Google Code http://code.google.com/p/support/wiki/GettingStarted • ¿Cómo usar TortoiseSVN [Windows]? http://nosoyfriky.wordpress.com/2010/04/21/como-usar-tortoisesvn- manual-bsico/ • The Perfect Subversion Server [Debian/Ubuntu] http://www.howtoforge.com/the-perfect-subversion-server-debian-lenny- ispconfig-3
  • 21. GITLAB HISTORIA • GitLab nació como un sistema de alojamiento de repositorios Git, es decir, un hosting para proyectos gestionados por el sistema de versiones Git. Sin embargo, alrededor de esta herramienta han surgido muchas otras herramientas muy interesantes para programadores y equipos de desarrollo, que envuelven todo el flujo del desarrollo y el despliegue de aplicaciones, test,
  • 22. Instalar en tu servidor o usarlo como servicio web • La principal diferencia entre GitLab y sus competidores es que GitLab se ofrece como un software libre que puedes descargar e instalar en cualquier servidor. Esta posibilidad permite usar GitLab para una empresa, profesional u organización en sus propios servidores, sin ningún coste adicional.
  • 23. Funcionalidades de GitLab • En GitLab podemos gestionar principalmente proyectos, Grupos y Sinppets. Los proyectos son los protagonistas del sistema, básicamente repositorios de software gestionados por GitLab y todo el ecosistema GitLab. Los grupos son básicamente empresas y usuarios. Los snippets por su parte son como pedazos de código que puedes dejar para hacer cualquier cosa.