Configuración de PHP, Symfony y MongoDB para utilizar con Bitbucket pipelines y ejecutar tests en cada commit
Lee esta información en otros idiomas: English, Español.
Configuración de Bitbucket pipiles para ejecutar test PHPUnit en cada commit para un project que utiliza PHP, Symofony y MongoDB.
En este repositorio encontrarás el fichero bitbucket-pipelines.yml
responsible de descargar la imagen de docker y ejecutar el pipeline de BitBucket.
También encontrarás el fichero Dockerfile
utilizado para crear la imagen a medida de este proyecto.
En nuestro caso necesitábamos PHP 5.6 y MongoDB 3.2. En la misma imagen encontrarás instalado composer
para instalar las dependencias de tus proyectos PHP+Symfony y también tendrás PHPUnit 5.6 necesario para ejecutar los tests de PHP 5.6.
Puedes utilizar el fichero Dockerfile
disponible como imagen base y modificarlo según tus necesidades. Por ejemplo, usar PHP 7:
FROM php:7.1.1
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
mongodb \
mongodb-server \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
Cuando tengas la imagen creada, puedes construirla con este comando:
docker build -t <your-docker-account>/php-mongodb .
docker run -i -t <your-docker-account>/php-mongodb /bin/bash
- Utiliza tus credenciales para hacer login en Docker Hub.
docker login
- Sube tu imagen, ejecutando este comando:
docker push <your-docker-account>/php-mongodb
Para obtener una información más detallada acerca de este paquete, por favor, dirígete a https://moisesbm.wordpress.com/2019/05/08/bitbucket-pipeline-configuration-for-php-mongodb-and-symfony/.
Moisés Belchín
@moises_b_m
https://github.com/mbelchin/
Distribuido bajo lincencia MIT. Echa un vistazo a LICENSE
para más información.
Este proyecto ha sido creado para encontrar una manera simple de compartir la configuración de Pipelines de Bitbucket y que pueda ser utilizada en proyectos que usan PHP y Symfony que requieran MongoDB como base de datos para ejecutar los tests PHPUnit.
Si consideras que algunas cosas podrían mejorarse o si conoces alguna otra herramienta más sencilla o con una configuración más fácil, por favor, abre un hilo de debate para que todos nos podamos beneficiar de todas las mejoras que surjan.
- Haz un fork 1. (https://github.com/mbelchin/bitbucket-pipelines-php-symfony-mongodb/fork)
- Crea una nueva rama (
git checkout -b feature/fooBar
) - Haz un commit de tus cambios (
git commit -am '<type>(scope): add some fooBar'
) - Haz push de tu rama (
git push origin feature/fooBar
) - Crea un nuevo Pull Request