Platform as a service(PaaS) using Docker and Github



PaaS-Docker is a service which automatically build and deploy your application on the server using docker.


PaaS-Docker is written in Python using Flask framework which listen to Github repository events. Whenever a new push is made on Github repository, PaaS-Docker will fetch the Github repository and build a new Docker image. The newly built image will be deployed to server.


Less technicalities to handle for Project Manager.

In a usual flow, when the developers work on some feature, they will push their code to feature branch and request project manager to verify their feature and ask for further improvements and enhancements.

Whereas Project Manager will clone that branch and run that feature and verify it. And that’s not all done. Project manager has to do various configurations in order to run this new feature. For eg. if feature require new dependencies, they have to install those dependencies. If something goes missing then trace back in itself require its own efforts.

So for busy Project Manager, thats a lot of work to be done and this work grows exponentially when there are more developers working on a project and they have to push new features to production on regular intervals.

In order to save Project Manager time and improve this hardworking process, we came up with a PaaS Service using Docker and Github, which make this process seamless, by making new feature live within seconds.


Easy and quick testing environments.

By automatically deploying every push on repository, this service eliminates the need to manually set up testing environments. The time and efforts required to set up the testing environments can be eliminated using this service.So this service can be used where quick testing requirements have to be met.


Developers only deal with code.

PaaS-Docker service let the developers focus on coding rather than setting up environment to deploy their code. This service can also save the developers time and efforts which they have to apply in order to make their feature work on their own system or in development environments. So for developers the infrastructure management is automated.


PaaS-Docker Flow Chart



With PaaS-Docker, developers can add a webhook to their Github repository, which will have url and port number running this service.

Whenever a new push will  be made on repository with webhook, it will send a post payload to remotely hosted service. Now this service will filter whatever information it requires from post request to build a new Docker image . With new image, a new container will be launched.

Now Project Manager know where the new feature is running and they can check them and provide feedbacks immediately.

Link to Github repository PaaS-Docker