Background: There were many challenges to this transformation.
Goals: Enable A/B Testing on any platform/hardware
Solution & Results: We set up Jenkins along with an in-house Node.js bot to allow triggering builds remotely. This allowed us to separate how the build was done and create a wrapper around the process that anyone could use.
Jenkins has helped see us through tough times and good times. It has supported us for years without ever asking for anything in return. One of the best companions ever that you should always have.
It also allowed us multiple benefits. One was the ability to abstract the process. The second was that we need not provide Jenkins access to everyone in the team. They could see the input and input via the bot on Slack.
We integrated Jenkins with Bitbucket Server Integration, allowing us to leverage webhooks and trigger builds from within Bitbucket. We were able to see the build status from within Bitbucket and if there were any red flags, they were marked by Danger.js.
Jenkins allows us to control releases, do reverts without ever needing to maintain it time over time.
Jenkins ability to store credentials, create freestyle projects, create pipelines which we later figured out was a great way to version the build changes and anybody could contribute easily. Jenkins Bitbucket server integration was a major factor in further strengthening the visibility around builds.
Results? They couldn't be better.