Delivering files with PSR-7
When it comes to reading and returning the contents of a file in a PSR-7 middleware most developers seem use code that does the following: Read the file first, then write it to the response body.
When it comes to reading and returning the contents of a file in a PSR-7 middleware most developers seem use code that does the following: Read the file first, then write it to the response body.
We recently started experimenting with the GitLab CI Runners as we are looking to replace our "old" Jenkins v1.x set up with something new. And since over the last few weeks we had some issues with the Jenkins GitLab plugin we thought it might a good idea to take a deeper look into the GitLab CI Runners. One the plus side the GitLab CI Runners are configured via a YAML file in a similar fashion as you would configure Travis CI which we use to build our open-source components. Since on Travis we rely a lot on the so-called matrix builds to run the unit tests for different PHP versions I was wondering how we could solve the problem with GitLab CI. At first glance GitLab CI does not have a matrix build command but it comes with a feature called Anchors which kind of act as a template that can be merged in a job configuration.
When I came up with the idea to build a PSR-7 based flat-file CMS I thought that it must be fairly trivial to build a static page exporter by simply "faking" requests and storing the resulting responses. Turns out I was right and this an quick recap of what I did ;)
I was looking for a way to show how our libraries like Adrenaline, Pathfinder and Disco work in a "real world" application. I came up with the idea to build just another simple flat-file CMS. AddItEasy might be the first flat-file CMS based on a PSR-7 implementation which adds a nice touch: We can easily create a static file export from the content. That means that you do not need to upload addItEasy to your server, you can simply export the files and e.g. let GitHub host the static HTML pages.
One problem with releasing open-source components is that code is not the only thing you should care about. Without a decent documentation no one is able to use your component. Sad to say we are guilty as well, e.g. the documentation for Disco our annotation-based PHP Dependency Injection container lacks in in-depth documentation.
Am 31.05.2016 trifft sich die PHP Usergroup Rheinhessen zum 41. Mal. Ich freue mich nach langer Abwesenheit wieder einmal dabei sein zu können und meinen Vortrag "Microservices: Klein, aber oho!" präsentieren zu dürfen.
For quite a while I am looking for a private Docker registry server which is easy to set up and fairly trivial to run in our IT infrastructure, e.g. being able to connect to our central LDAP server for user management. A few months back I realized that the next major version of Nexus will be able to host docker images. Since we already have a nexus instance running this seemed like a natural fit for us. Finally, I found some time to play with the current M7 release which already offers the docker registry feature.
Ich folge der Einladung der PHP Usergroup Münster und werde beim nächsten Treffen der Usergroup am 19.04.2016 meinen Vortrag "Microservices: Klein, aber oho!" präsentieren.
Am Donnerstag den 24.03.2016 trifft sich die PHP Usergroup Frankfurt. In meinem Vortrag "Jenkins for PHP projects" werde ich beleuchten wie sich Jenkins für PHP Projekte nutzen lässt, welche Jenkins Plugins wir gerne verwenden und was es generell beim Einsatz von Jenkins zu beachten gilt.
Vom 23.06.2016 bis zum 25.06.2016 findet bereits zum 10. Mal in Amsterdam die Dutch PHP Conference statt. Ich freue mich zum siebten Mal in Folge dabei sein zu können und meinen Vortrag "Microservices: Packs small, plays BIG!" präsentieren zu dürfen.