- Type: Professional
- Company: Automated Insights - a StatsPerform Company
- Technologies: Jenkins, Groovy
- Length: 1 week
We used Jenkins at Automated Insights for all of our deployment and testing automation. Each code repository has its own Jenkinsfile that can access Groovy functions within our in-house Jenkins Pipeline Library. With the holidays coming up in mid-December, we wanted a way to temporarily pause our automated deployments to the production environment while we were all on vacation.
To achieve this, I modified the common release code to take into account a list of dates for which we didn’t want to release code. The deployment model at Automated Insights used a long lived branch for each of our deployment environments and release branches would be sequentially merged into each of the deployment branches. For the weeks that we didn’t want to deploy to, we would simply skip merging the release branch into the long lived production branch. To keep track of which dates to skip, we stored them in an array as a constant in the deployment code. This is no quite ideal for storing data, but we didn’t have an external data store for our Groovy code.