{Drupal CI/CD}
Fran Garcia-Linares
Contexto
- Quiero mejorar la calidad de mis proyectos
- Hay muchos programadores en el proyecto
- No quiero romper nada, pero tampoco quiero comprobar todo el sitio en cada cambio
- Jenkins necesita mantenimiento/servidores, conocimientos...
- Las herramientas externas son difíciles de configurar
- No hay $tiempo para "investigar" y "configurar" todo
- ...
Me gustaría
- Tener algunas comprobaciones mínimas
- Añadir tests de forma fácil para mí y otros
- Asegurarme de que cierta metodología, tests, etc son seguidos en el día a día del proyecto y tener ciertas garantías antes de desplegar la aplicación
- No tener que mantener un nuevo servidor/herramienta (Jenkins)
- Usar una herramienta externa fácilmente, sin tener que aprender todo
- Que el proceso sea rápido y sencillo
- ...
La herramienta
- ¿Qué hace?
- Coding Standards
- Code Coverage
- Unit tests
- Behat tests
- CypressIO tests
- ¿Dónde lo hace?
- Bitbucket Pipelines
- Gitlab CI
- Github Actions
- Circle CI
- Travis CI
¿Seguro que es fácil?
- Solo la persona que lo vaya a instalar y solo una vez.
- ¿Tienes terminal con `curl` y `bash` y `composer`?
- No
- Instálalas en tu terminal
- O usa una solución docker (ddev, lando...)
- Ve al siguiente paso
- Sí
- Escoge una plataforma
- Ejecuta "el comando" para esa plataforma
- Dile dónde encontrar una base de datos
- No
Travis CI
- Info: https://www.travis-ci.com/
- Repo: https://github.com/fjgarlin/d9
- Comando:
-
curl -L https://github.com/lullabot/drupal9ci/raw/master/setup-travis-ci.sh | bash
-
- Video: (por si acaso)*
* En el momento de grabar los vídeos, este PR no estaba aún en la rama principal (ya sí), y por eso cambio "master" por el nombre de la rama.
Circle CI
- Info: https://circleci.com/
- Repo: https://github.com/fjgarlin/d9
- Comando:
-
curl -L https://github.com/lullabot/drupal9ci/raw/master/setup-circleci.sh | bash
-
- Video: (por si acaso)*
* En el momento de grabar los vídeos, este PR no estaba aún en la rama principal (ya sí), y por eso cambio "master" por el nombre de la rama.
Github Actions
- Info: https://github.com/features/actions
- Repo: https://github.com/fjgarlin/d9
- Comando:
-
curl -L https://github.com/lullabot/drupal9ci/raw/master/setup-github-actions.sh | bash
-
- Video: (por si acaso)*
* En el momento de grabar los vídeos, este PR no estaba aún en la rama principal (ya sí), y por eso cambio "master" por el nombre de la rama.
Gitlab CI
- Info: https://docs.gitlab.com/ee/ci/
- Repo: https://gitlab.com/fjgarlin/d9
- Comando:
-
curl -L https://github.com/lullabot/drupal9ci/raw/master/setup-gitlab-ci.sh | bash
-
- Video: (por si acaso)*
* En el momento de grabar los vídeos, este PR no estaba aún en la rama principal (ya sí), y por eso cambio "master" por el nombre de la rama.
Bitbucket Pipelines
- Info: https://bitbucket.org/product/features/pipelines
- Repo: https://bitbucket.org/fjgarlin/d9
- Comando:
-
curl -L https://github.com/lullabot/drupal9ci/raw/master/setup-bitbucket.sh | bash
-
- Video: (por si acaso)*
* En el momento de grabar los vídeos, este PR no estaba aún en la rama principal (ya sí), y por eso cambio "master" por el nombre de la rama.
Agradecimientos
JuampyNR
Y el resto de gente que ha contribuido y usado el proyecto:
¡Inténtalo tu ahora!
Drupal CI / CD (Español)
By Fran García-Linares
Drupal CI / CD (Español)
- 678