Background: Consis Internacional helps insurance carriers around the world achieve strategic results through IT. We design intelligent core business systems, robust front-end web tools, component solutions, and innovative frameworks by combining cutting-edge tech with the best standard practices.
We expect to obtain an unattended compilation of our git repository running Maven both for development environment updates and for sending artifacts to clients, which can be scheduled to run at specific times or on-demand from a telegram bot when required.
Additionally, we expect to run SQL scripts on remote databases and perform scheduled backups for both development and test environments where artifacts and scripts are tested before being sent to the client.Goals: To ship artifacts to the customer faster and safer.
"Jenkins made everything easier and faster. It gave me the free time to study new technologies."
Solution & Results: We configured the Git repository that we use with BitBucket and set the parameters for Maven compilation. We then set schedules for the process to run automatically, scheduling bash scripts according to the client with the help of Jenkins variables. We also configured the telegram plugin to send notifications and used the Jenkins API to configure the telegram bot for remote execution. Finally, we configured the sending of emails for sending artifacts to the client and telegram notifications for updating the development environments.
For the update of the development environments after the automatic compilation, we were able to use some scripts that were already programmed previously to perform the update of artifacts and restart the application server, in this case, WebSphere Liberty.
Additionally, the database was configured with triggers for backup tasks — this way, every time a task was finished, the next one started even if the previous one failed. The security of access to Jenkins was configured through the BitBucket OAuth to obtain greater control of those who could access Jenkins and their permissions.
For telegram notifications we use plugin "Build Notifications" at https://plugins.jenkins.io/build-notifications
For email notifications we use plugin "Mailer" at https://plugins.jenkins.io/mailer
For the bitbucket oauth integration we use plugin "Bitbucket OAuth" at https://plugins.jenkins.io/bitbucket-oauth
For the trigger variable we use plugin "Parameterized Trigger" at https://plugins.jenkins.io/parameterized-trigger
For the bitbucket integration we use plugin "Bitbucket" at https://plugins.jenkins.io/bitbucket/
We are very happy with the results:
compilation time reduced from 1 hour to 20 minutes
safety when shipping artifacts to the customer
development environment update time reduced from over 1 hour to 25 minutes
no worries about database backups