Skip to content

Releases: hgraca/explicit-architecture-php

Post #06 of The Containerization Chronicles

15 Jun 21:54
Compare
Choose a tag to compare

This is the tag with the code used in the 6th post of The Containerization Chronicles.

Deployments with containers

Now that we have the project integrated with a Continuous Integration server, where we run the tests and report back to GitHub pull requests with the results of the test run and the coverage, we can deploy our project and make it available on the Internet.

We will do so with Heroku. I have chosen Heroku because it allows me to perform these experiments for free. 

Continue reading ...

Post #05 of The Containerization Chronicles

30 May 08:21
Compare
Choose a tag to compare

This is the tag with the code used in the 5th post of The Containerization Chronicles.

Integration with CodeCov

This is a fairly small post, as it is really simple to integrate with CodeCov. Follow the instructions on their website to create your account and set up the repository and follow along with this post.

To be honest, we don't even really need this integration at this point, because Scrutinizer can already give us a nice badge for the code coverage, as well as fail the build if the coverage degrades. Nevertheless, CodeCov gives us all that plus a much more detailed report about the coverage than just the final coverage rating, and the possibility to fail the build if the coverage of the pull request is below the limit, or results in a global coverage below the limit.

Continue reading ...

Post #04 of The Containerization Chronicles

03 May 07:51
Compare
Choose a tag to compare

This is the tag with the code used in the 4th post of The Containerization Chronicles.

Continuous Integration with containers

Now that we have some containers in place for development, we can integrate with a CI server. I chose Scrutinizer CI because of the code analysis it makes, the fact that it is also a CI server it's a plus. However, as a CI, it has some limitations, which I will talk about later on when integrating with Heroku, so we will most likely move to another CI engine later in the future while keeping Scrutinizer only for the code analysis but, for now, this is all we need.

To set up the CI, we will:

Containerize an environment to run the tests in the CI
Configure Scrutinizer
Add the scrutinizer badges to the README.md
Integrate Scrutinizer with GitHub

Continue reading ...

Post #03 of The Containerization Chronicles

18 Apr 08:05
Compare
Choose a tag to compare

This is the tag with the code used in the 3rd post of The Containerization Chronicles.

Containerize dev, tst and prd

After cleaning up the Symfony demo project a bit, we are ready to do some containerization...

I will talk about:

  1. Logging
  2. Containerizing dev, tst, and prd
  3. Run and stop the containers
  4. Remove database from VCS
  5. Integrate with PHPStorm

Continue reading ...

Post #02 of The Containerization Chronicles

13 Apr 10:43
Compare
Choose a tag to compare

This is the tag with the code used in the 2nd post of The Containerization Chronicles.

Cleaning up the demo project

In order to start making experiments with containerization of applications, I am going to be using the Symfony demo project, which is a small blog where one can view and create some blog posts. Although it is a very small project, and therefore does not reflect the complexity of an enterprise cloud application, I feel it is flexible enough to experiment containerization practices, especially because I want to start small.

However, there are some things I don’t like about the project, so I start by doing some cleanup:

  1. Add roave/security-advisories
  2. Remove simple-phpunit, update to phpunit 7 and DAMA bundle 5
  3. Disable the profiler during test runs, so the tests run a bit faster
  4. Type hint all the things
  5. Change namespace from App to Acme\App to better comply with PSR-4
  6. Add a Makefile so we abstract our DevEx and automation from the tools

Continue reading ...