Background: Our company, Sincrovia, offers a fleet management system in which clients from small to midsize freight companies can manage their entire operation with a single software solution. With our app, clients can control a fleet of trucks, manage their drivers and the trips that they make, as well track their expenses. For that, we need to provide an error-free platform.
Our methodology is to only update or create microservices or our monoliths after the user acceptance phase. Since we have multiple development environments, automation was critical. We also wanted to remove any chance of human error.
Goals: Automation and security for our development environment.
Solution & Results: With Jenkins, we knew it would be possible to segregate multiple areas of development while ensuring safer deployment versions of microservices, monoliths, web applications or mobile applications. To achieve this, we set out to automate our dev processes and streamline user access and controls.
Jenkins brought much needed automation and security to our development environment.
As we were migrating to Azure DevOps, automation of our platform included ensuring that all developers could view a Pipeline screen on which they could only select the branches they had clearance to build. This enabled us to streamline user access and ensure security. In this way, the developers still have access to Jenkins, but only to check the status of their builds.
For the release phase, developers can select only their specific environment and the build version, automating the release. By limiting human interaction to selecting the build version and environment, we have the confidence of knowing our releases are more reliable.
Core capabilities we employed: AWS Lambda, Amazon Web Services SDK, Docker, GitHub Integration, Azure Credentials, Azure Commons, Mailer, Credentials, JUnit, and Jackson 2 API.
With the help of Jenkins, our DevOps processes enable us to: