Background: As a marketing agency, with a presence in Spain and Peru, we help our clients to interact with their clients, offering them innovative marketing and technology solutions. We provide services for all phases of the consumer life cycle , helping brands keep customers longer, increase the recurrence of interactions with them, and generate greater benefits. In achieving this, our main challenge was to develop a common Jenkins job that can be used by all of our departments. Each department has its own development process, so we need to be flexible to be able to cover all of them.
Goals: Simplify deployments.
"Jenkins allows us to be able to reduce our CI and deployment times and offer our jobs as services to our company."
*Solution & Results: * Jenkins is our continuous integration core. Our jobs are fully code-managed by using Jenkins pipelines. Our Jobs go from deployments based on Docker to Asterisk Dialplan deployments or serverless app deployments based on AWS S3 + cloudfront. We also have a Cron service based on Jenkins, each department has its own pipelines repository and we listen to their webhooks in order to update changes or create new Jobs.
Key capabilities used? Our Jobs usually are based on Pipeline, Webhooks, Git Plugin, Shell Blocks and HTTP Request Plugins.
As for results, take a look:
Up to 200 apps deployments per day
Serverless apps package time reduced from several hours to less than one
Multiple hours if work saved with etl processes migration to Jenkins