Desarrollo de sitio web

Nosotros Makklays. Ayudamos a realizar la idea.

¿Qué es CI/CD en programación?


Makklays - Artículos image

eye 104

Ahora se ha puesto de moda utilizar CI / CD. La abreviatura CI / CD se encuentra a menudo en las vacantes. Echemos un vistazo a lo que esto significa. Entonces.
En el desarrollo de software, CI / CD o CICD es una combinación de integración continua (CI) y entrega continua o implementación continua (CD).

CI / CD combina el desarrollo, la implementación y el trabajo en equipo, lo que acelera el proceso de creación, prueba e implementación de una aplicación.

Actualmente, los programadores de DevOps se esfuerzan por utilizar CI / CD para casi todas las tareas.

CI/CD EN LA PRÁCTICA



Cómo se ve en la práctica. En la práctica, cuando trabajamos con un proyecto PHP, podemos utilizar diferentes servicios (a continuación veremos varios de ellos). Parecería que la integración continua es algo muy inteligente y aterrador. Esto es algo que solo utilizan grandes empresas como la NASA, Microsoft, Ford y Ferrari. Pero no. Incluso una pequeña empresa de dos o tres programadores y un diseñador puede permitirse ejecutar un CI / CD para construir proyectos.

En pocas palabras, la integración continua es poner código en un sistema de producción :) Acciones que se realizan en equipos pequeños, y especialmente en startups, muchas veces al día. La Integración continua automatiza este proceso y reduce el tiempo del programador para esta acción.

Para hacer esto, pueden utilizar varios servicios que se describen a continuación.

Gitlab CI



Aproveche la increíble herramienta Gitlab CI / CD para automatizar la integración continua. Después de comprar Github de Microsoft y después de invertir fuertemente en Github, nuevas características para los inexpertos comenzaron a aparecer en Github: Acciones de Github, revisión de código y, después de muchos años de espera, aparecieron por primera vez repositorios privados gratuitos. Habiendo elegido Github CI / CD, todo el proceso de construcción y diseño del código en el servidor de producción constará de tres pasos: compilar, probar, implementar para prod. En la raíz del proyecto, debe crear un archivo .gitlab-ci.yml, un archivo de configuración que describe qué ejecutar y cómo ejecutarlo. Toda la sintaxis y reglas para escribir este archivo están disponibles en la referencia https://docs.gitlab.com/ee/ci/yaml/ - todo se describe en detalle allí. Los ejemplos de código y la implementación de todo esto en su proyecto están disponibles en Internet y no nos obsesionaremos con esto. Tenga en cuenta que para la etapa de implementación, el proyecto se cargará en la nube externa de Heroku. Configurar y revisar Heroku está más allá del alcance de este artículo. Todo lo que necesita es el nombre de su aplicación y la clave API de Heroku.

Jenkins



Jenkins es muy famoso y ampliamente utilizado desde 2011, como una bifurcación del proyecto Hudson de Oracle. Este es un ejemplo vívido de un sistema CI / CD, para el cual Jenkins fue desarrollado. Hoy en día, PlayStation y NASA SpaceX utilizan el sistema Jenkins. El producto es gratuito y se distribuye bajo la licencia MIT. Jenkins requiere un servidor dedicado para su trabajo. Jenkins tiene muchas comunidades y artículos sobre cómo configurarlo y usarlo en la web. También hay muchos libros y guías (en Internet). Configurar y revisar Jenkins está más allá del alcance de este artículo. Jenkins tiene varias aplicaciones útiles: Configuración como código: ayuda a configurar Jenkins y Jenkins X para la nube. Jenkins X entrega datos de forma reactiva a la nube.

TeamCity



El sistema TeamCity se elige a menudo porque el sistema TeamCity es el más fácil de instalar y configurar. Después de descargar e instalar el sistema de integración continua, el servidor de CI estará disponible a través de la URL http para implementar el sistema de integración continua. Para su comodidad, puede crear un servidor proxy en el puerto 80. Configurar un servidor CI para una integración continua es muy fácil (esta es a menudo la razón por la que los programadores eligen TeamCity). Puede configurar el servidor CI a través del panel de administración web. Todo lo que tiene que hacer es completar los campos y hacer clic en el botón Continuar, como en Windows. Todo es simple y sencillo. Y en Internet hay muchos artículos con capturas de pantalla, no nos detendremos en ellos en detalle.

Y otros CI/CD para proyectos PHP



PHP Censor, Rex (ejecución remota), Open Build Service (OBS), Rundeck, GoCD, Buildbot; todos ellos también se utilizan al desarrollar proyectos PHP para la integración continua.