You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
3 Hrs
40 Min
9 Seg

Plan de integración continua

13/25
Resources

What is a continuous integration plan and why is it crucial?

A continuous integration plan is a key strategy to ensure the efficient and secure deployment of new functionality in a system. It is not only about integrating code, but also about effectively managing the process known as "roll out", which involves the complete deployment of 100% of the system, regardless of whether it is distributed globally in regions such as Europe, Asia and South America. The importance of this plan lies in its ability to avoid problems during implementation, thus ensuring that functionalities are effectively delivered to all users.

How is a continuous integration plan broken down?

To develop a detailed continuous integration plan, it is essential to understand its stages, usually divided into three main phases:

  1. Development stage (Development): In this phase, functionality is developed and placed in a Git branch, usually called "master", where the most recent versions of the software are stored.

  2. Testing stage: This is where extensive testing of the new functionality is performed. Specific branches can be created or tags can be used to identify the versions being tested.

  3. Rollout to production: It is crucial to ensure that a controlled and gradual rollout takes place, allowing bugs to be identified as the rollout progresses to 100% of users. This may involve distribution by geographic region or under other advanced segmentation strategies.

What is the role of 'roll out'?

The term "roll out" refers to the process of gradually introducing a functionality in all regions where the system operates. This detailed roll out allows you to manage and mitigate risks by distributing new functions in a progressive manner. Thus, if problems are detected, the process can be stopped before an error affects the entire user base.

How to apply controls in the production phase?

To prevent the propagation of errors and ensure the stability of the system, different controls can be implemented:

  • Geographical distribution: implement new functionalities initially in a single region or a limited percentage of the region. This allows to monitor the performance before extending the update to more users.
  • Feature Flags: A technique that allows enabling or disabling specific functionalities for certain groups of users, facilitating granular control over the deployment.
  • Temporal Strategies: Establish procedures that prevent progress on weekends or at critical times without adequate supervision.

Why are sequence diagrams important?

Sequence diagrams are a powerful visual tool that helps to outline and clarify each step within the continuous integration flow. They allow a clear representation of the process, showing the transition from development to testing and finally to production. This visualization can be integrated into a design document, providing a detailed reference for everyone involved in the project.

Additional Resources

To support the creation of these diagrams and establish a robust continuous integration plan, it is advisable to use specific tools available in the educational resources for this class. We encourage students to explore these tools to enhance their development plans and ensure a successful deployment of their projects.

Contributions 13

Questions 5

Sort by:

Want to see more contributions, questions and answers from the community?

¿Alguna vez te has preguntado por qué tú no tenías la reacción del “Me importa” en Facebook pero tus otros amigos sí? Bien, aquí tienes por qué, el plan de integración continua comienza a hacer el despliegue en producción paso por paso.
.
Aquí es donde vemos lo que comenté en la clase anterior, el uso de git, GitHub y sus branches, que de nuevo, esto está bien explicado en esta clase:
.
https://platzi.com/clases/1557-git-github/19955-flujo-de-trabajo-profesional-haciendo-merge-de-ram/
.
Algo que me parece curioso son los tags, si los conocía, pero se me hacía más lógico tener un branch exclusivo para producción, y que ese branch sea master.

Les recomiendo mucho revisar gitflow, que es la manera en que trabajamos en la empresa que me encuentro. Me parece útil y creo que tiene las ramas necesarias para tener orden en el repositorio, a continuación relaciono una imagen del flujo:

Como aporte en los deployments por lo general se utilizan estrategias de deployments como canary, blue/green, rolling deployment para realizar todo lo que el se referia de liberas la version a X cantidad de Usuario o Zonas, etc. Les dejo un enlace donde pueden leer mas y tener una idea mas completa de las estrategias de deployment.

cree un sistema que creció mucho, el sistema lo empecé cuando no sabia nada de arquitectura, yo solo queria programar. Después descubrí todo esto y apenas estoy creando todos estos documentos, creo que nunca es tarde

Veo que existen algunos comentarios que hacen referencia a la convención que maneja Angular para commit message, esta cool y lo utilizo muy seguido, pero mi decisión para el formato de escritura depende desde el tipo de proyecto, tamaño, y cantidad de integrantes, a partir de ello tomó como referencia Conventional Commits (en esta convención de igual manera hacen referencia al formato que maneja Angular)y voy modificando el formato.

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Al final lo que importa es que un commit message sea claro para las personas del equipo, ya que con un buen mensaje podemos tener una visibilidad de que paso en el commit antes de entrar analizar en el código, ya que algunos objetivos principal de los commit messages son: poder saber qué cambios vienen cuando alguien realiza un PR para un code review o si estamos buscando un error a través del tiempo de evolución del del proyecto, podemos saber a través de un mensaje claro donde se pudo haber agregado ese error.

Nunca, Nunca poner mensaje como

  • Hecho

  • No entiendo cómo funciona

  • Ya arregle esto

  • Se agregó botón

  • Se cambio color

  • Sálvame Diosito

  • Etc.


Por si desean colaborar en proyectos grandes, les comparto las reglas de Angular para contribuir:

La rama Master en Github ahora es Main

Hola!

Les comparto el enlace del curso de Git y GitHub que explica los cambios recientes que se han incorporado en algunas palabras; por ejemplo, ya no se dice master, sino más bien main: https://platzi.com/clases/1557-git-github/35869-cambios-en-github-de-master-a-main/

Responder

Habia muchas expectativas por este curso en parlicular, pero hasta el momento me parece como la receta que te da algun amigo por telefono y después con los ingredientes en mano, no sabes como preparar el plato, espero mejore mas adelante.
Para la gestión del Repository vale la pena leer. Que cosa es GitFlow.

Si quieren entrar en detalles acerca de Git, pueden ver el curso de Git y Github: https://platzi.com/clases/git-github/

Muy interesante esta forma de usar los tags, este curso se pone cada vez mejor, hasta puede ser la base en un futuro de otros cursos de backend en platzi, haciendo implementaciones en django,laravel, java etc.

muy interesante esta clase…