I’m extremely familiar with the LAMP stack (Linux, Apache/Nginx, MySql/Maria/Postgres, PHP). If a server breaks, I can find the error message in the log files, and fix it over SSH.
I’ve been using Docker and Docker Compose since 2013. I’ve created custom Dockerfiles and docker-compose files to match the environment of the Production server. In general, each project will have its own docker environment.
I’ve been using Bitbucket Pipelines since 2017. I am able to configure the pipeline, and add custom steps to it. Here’s a quick look at how it works:
- Bitbucket connects to Docker Hub
- Image is rebuilt, the Container is started, and Bitbucket connects to its Terminal
- The PHP Composer packages are freshly installed
- Validation steps in bitbucket-pipelines.yaml are executed. For example:
- PHP Unit tests are executed
- PHP Stan is executed for static code analysis ; proper code styling
- After all steps are finished, you will see a Success or Error message
- If a Success message is returned, you are safe to merge and deploy the code to staging or production
- If an Error message is returned, it should be returned to development and testing