One of the most challenging and exciting parts of the Sitograph CMS is a CI/CD pipeline implementation.
With continuous deployment practice, testing and deployment are fully automated. There is no human intervention and only failed tests will prevent newest changes from being deployed to production.
This action flow diagram describes the development process.
The development process is managed using a public GitHub repository.
Testing and deployment of the source code are orchestrated by Jenkins.
Sitograph websites are deployed to Google Compute Engine.
We are using two branches: "master" for production code and "development" for new features development. The "master" branch is protected from direct commits, therefore only Pull Requests are accepted.
Development code is merged into the “master” branch weekly.
Since Sitograph is an open source application, any contributor can commit to “development” branch and open a Pull Request(PR) for merging into "master".
Any commit will trigger a "Build check" process that will try to run and test the latest code. In case of failure, PR will be blocked from merging. Only successful and stable build can be merged into "master" branch.
Jenkins will trigger CMS deployment once PR is merged into "master" branch.
The deployment process includes:
Jenkins will abort deployment and notify development team by email in case of any failure.
Each deployment starts with creating a snapshot of the production instance. This allows to roll-back latest changes if necessary within few clicks.
As a result, we have a stable and autonomous development environment.
Continuous Integration provides developers with a full set of tools to support and extend the application.
Repository pulse from GitHub
Transparent development workflow and short release cycle allow our clients to fully participate in the release process.
firstname.lastname@example.org posted on 13.05.2018 15:01:25
email@example.com posted on 13.04.2018 07:11:46