The project's goal
These days ability to automatically deploy applications is common to need.
It may be a requirement from the technical side to have the possibility to test and debug. Or from the marketing side. When it's required to quickly demonstrate product setup. In some cases, not once.
The other point of requirements was a strict deadline. Working MVP was ready within 3 weeks of development.
Implementation
We choose familiar and well-recommended tech stack:
- Kubernetes
- MongoDB
- Express
- React
- TypeScript
The application we had to automate is WordPress.
Project is based on the 3 components:
- Administration panel.
- Manager, which handles application state and interacts with DB.
- Processor, which works on the tasks generated by Manager.
Authentication is built on PassportJS and GitHub as identity provider.
Role-based authorization for different kind of actions was implemented.
Email notifications are send after each deployment update.
Ability to send notifications via another channels is provided by design.
Results
Our team successfully met the deadline and within a week project has been marked as prioritized by our client.
All documentation and source code was transferred.
The time to deploy new instances has been reduced from 3 hours to several minutes. The sales department got the ability to create an instance by themselves, without any help from the tech department.
At the end of the day, it has increased company sales.