Continuous Delivery with ElasticBox and Jenkins

elasticbox-jenkins-logo

In our last Jenkins post, we talked about setting up Jenkins and your software source control management system with the ElasticBox Plugin to continuously develop and integrate your application code in production. Well now, the plugin is even easier to use and you can set up your continuous delivery flow in a few simple steps. Read on to learn how.

So what’s the workflow again?

Before we get to the plugin though, let’s understand a typical build workflow at a high level: a dev submits code changes using a software source control system like GitHub, Perforce, Stash, or Bitbucket. That triggers Jenkins to replicate and launch your production environment on to a test instance. You test changes and when happy merge them into a staging branch, which triggers Jenkins to update your production environment in staging. Finally, when you merge code changes to production, Jenkins is automatically triggered to update production application instances.

With all this going on, your mission is not only to maintain connected uptime of your production environment, but also to get your developers’ latest code automatically tested, pushed into staging, and into production without a time lag.

That’s my production environment

Things can get pretty complex if your production environment resembles a setup like a complex multi-tier application with a web, application server, database, and runtime. Imagine it’s autoscaled and load balanced to meet traffic loads. To serve customers spread all over the world, your production environments are spread across geographical regions and clouds. On top of this, you have database clusters to replicate data and handle failovers. You have queuing servers to optimally handle requests to database clusters. Then you have messaging, analytics, and logging applications that also function alongside. Does that sound more or less like your typical production environment?

How can the plugin help?

Wouldn’t it be a relief to automate this whole workflow at the push of a button? That’s what the ElasticBox Jenkins Plugin helps you do now. The plugin can launch replicas of your application environment in test, staging, or production with latest code changes from a source control software management system based on Jenkins build triggers. It does that using boxes that define your applications in ElasticBox.

Our goal is to make it as painless as possible for you to automate applications whether that’s in test, staging, production, or involves automating the entire workflow of your deployment ecosystem.

Wait, there’s more

Get your hands on the plugin by trying out our tutorial (coming soon!). It will show how a code checkin triggers Jenkins in backend to automatically launch a LAMP Stack app in a test environment. Also coming soon in a sequel is an in-depth walkthrough that simplifies your Jenkins setup even further. Stay tuned for more magic!

Hacker News

Categories: Cool Features & Tutorials, News