Putting all pieces together and shipping with Codeship (part III)

Heading_Batch-deployment-in-Elastic-Beanstalk-e1439848874379

Continuous deployment environment with Docker, AWS EB and Codeship

In the last two episodes we have configured the Docker environment and automated deployment with Elastic Beanstalk, but still the process requires some manual actions and I personally would like to avoid any unnecessary interference in the process. So, today I will walk you through combining all the pieces together and automating the process fully. A continuous integration system will be placed between developer’s environment and final servers. I’ll present how to achieve all of that with Codeship. What make me choose this particular mechanism? The simplicity of setting up, number of additional tools ready to use without installation and finally the fact that it isn’t time consuming.

Continue reading

Automated deployment with AWS Elastic Beanstalk (EB) – Part II

Nuvem_1920-e1438897053463

Continuous deployment environment with Docker, AWS EB and Codeship

In the previous part we set up a dedicated Symfony application on Docker virtual containers and prepared environments that may be transferred between developers during project cycle. The next step is to prepare the application for pushing into the cloud. There are many options available on the market – Heroku, DigitalOcean and, my favorite, AWS Elastic Beanstalk.

Continue reading

From 0 to Continuous deployment in 90 minutes

302ff118abe7c698949f70b39541fc5c-e1435741252192

Two days ago I have published a post at X-Team blog about achieving continuous deployment process. To do so, I choose the Docker for visualization, AWS Elastic Beanstalk as a delivery environment and Codeship as continuous integration system.

The tutorial is created as a video screencasting starting from a basic Symfony application and and carried us to the fully automated environment. We start from configuring Docker on local machine, preparing the integration with Amazon Webservices and automating the deployment with Codeship.

Continue reading

Rabbit behind the scenes

rabbit

Queuing in the background – getting started with RabbitMQ message broker

In PHP business logic is usually put right in action’s method or just behind it. Hence, every little piece of delaying and long-running code will be processed with a request. The problem is almost undetectable if a user sends an e-mail but with more complex actions it may take a little bit longer than preferred.
Continue reading

CakePHP with Symfony’s2 router

Zzyzx_road

A couple of months ago I have started my adventure with CakePhp and as every Symfony’s developer I thought that any other framework except Symfony is a piece of crap. Day by day and step by step I began to realize that’s not so bad as it seemed to be in the beginning. Well, the second version of CakePhp still has a lot old-fashioned patterns, singletons or lack of tests, but I can live with that. I saw a lot of better or worse frameworks in my life. However, one module remains a bitter aftertaste – the router.
Continue reading

Query manipulation with open-close principle

solid

Just a week ago I sat down in front of my computer and decided to try to create a common solution for injecting easy pagination. It’s an ordinary problem and I wouldn’t waste my time for doing it every time when I need to display more than 10 or 50 elements on the screen. So, as usually I started with installing Symfony2 and KnpPaginatorBundle, but after a couple of minutes I realized that the implementation can be more general than I assumed at the beginning. I could use the same design also for filtering or manipulating queries… Continue reading