Blog de Gonzalo

Blog de programación de Gonzalo López

USAR JENKINS CON PHP

PHP

Siempre pensé que Jenkins solo se podía usar con Java pero mirando por internet he visto que también se puede usar con php. Usar Jenkins con php para integración continua (CI) es una práctica común que permite automatizar tareas como la ejecución de pruebas, análisis de código y despliegues.
Jenkins es un servidor de automatización de código abierto que facilita el desarrollo de software mediante la integración continua (CI) y la entrega continua (CD), abreviado CI/CD. Automatiza tareas como la instalación de dependencias, ejecución de pruebas y despliegues, permitiendo a los desarrolladores integrar cambios rápidamente y detectar errores. Es una herramienta DevOps que ayuda a los desarrolladores a entregar nuevas versiones de software a los usuarios con mayor rapidez.
En proyectos php, Jenkins puede ejecutar Composer para gestionar dependencias, PHPUnit para pruebas unitarias y scripts para publicar aplicaciones en servidores web.
Para usar jenkins con php se aconseja tener instalado herramientas de calidad de código, aunque es opcional pero recomendado), como PhpUnit (para pruebas unitarias), PHP_CodeSniffer (para estándares de código) o PhpStan (para análisis estático). Un repositorio Git (por ejemplo, en GitHub, GitLab o Bitbucket) con el proyecto php y composer.
El proceso para usar jenkins con php sería:

  • Configurar Jenkins:
    • Instalar plugins como Git, Pipeline y Warnings Next Generation.
    • Configurar PHP y herramientas en Global Tool Configuration.
  • Crear proyecto en Jenkins:
    • Selecciona Freestyle project o Pipeline.
    • Configurar el repositorio Git, triggers como Poll SCM, y pasos de construcción para ejecutar "composer install", pruebas (phpunit) y análisis de código (phpcs).
    • Añadir acciones posteriores para procesar reportes (por ejemplo, resultados de pruebas).
  • Estructura del proyecto: Organizar tu proyecto con carpetas como "src/", "tests/", "build/" y archivos de configuración ("composer.json", "phpunit.xml").
  • Ejecutar y automatizar: Lanza builds manualmente o configura webhooks para builds automáticos. Opcionalmente, usar un "Jenkinsfile" para definir un pipeline con etapas como instalación, pruebas y análisis.
Es aconsejable habilitar caché en Composer para builds más rápidas, configurar notificaciones y permisos e integrar despliegues automáticos si es necesario.

Compartir en twitter