Continuous integration and delivery is now a critical requirement for every efficient development and application-management process, and its importance cannot be stressed enough.

In order to provide CI/CD features and multi-node automation processes I setup a dedicated Jenkins server that handles all of the dirty work in an automated and reliable way.

What is this ?

It is a dedicated Jenkins node where every single application is registered and configured.

It manages automatic build-on-push on every repository push, deploys updated applications to development and test environments, executes master-triggered deploys to production environments and handles automation flows like node restarts and machine tunneling for dynamic IP protections.

Why did I do this ?

In 2020, CI/CD is no longer an utopia but a necessity. A solid and correctly configured automation flow can drastically reduce development times and efforts, bringing configuration and deployment slips to a close-to-zero level and lifting a lot of repetitive work from developers and system mantainers.

How did I do this ?

A dedicated server node with a war-deployed Jenkins master instance.

Automated builds are performed on repository pushes, automatic deploys are performed as needed for every new application version.

The system can connect to other nodes via dedicated SSH keys in order to automated multi-node deploys and automated flows such as environment-wide restarts.

Access to the application is protected by SSO under CloudFlare Access policies.

Application performance and system status are monitored by my Amon and UptimeRobot systems.

How would this be instrumental in a business environment ?

CI/CD is very useful to a single/freelancer developer like i was/am in the free time, but is critical for a software development company.

Configuring a platform like this also gave me a deeper knowledge of automation flows, better development process optimization skills, knowledge of security issues for M2M channels and performance tuning experience.

Can I test this?

I cannot grant access to the CI server to anyone because of security reasons, but I will happily show and discuss it with you if you are interested. Write me an email for everything.