Creating a complete cycle of continuous integration can make or break a software team’s efficiency. A team has to leverage several components to fully utilize the autonomy of CI. The team’s commitment to properly configuring, maintaining, and optimizing this process will be the determining factor of success. Let’s talk about some of these integral components that form this autonomous cycle.
The first component of CI that I want to discuss is test automation. Using a full test suite with unit tests, integration tests, acceptance tests, and UI tests will not only improve the quality of your latest source code, reducing dev time spent on fixing issues, but it will also identify and get bugs fixed early in the process, thus reducing regression time as well. With Atlassian’s Bamboo you can orchestrate a seamless CI test automation pipeline by utilizing their myriad of built-in task types. Bamboo also makes it easy to link all of your source code repos to start testing against immediately.
Having a fully functioning automated test suite is great, but to take full advantage of the tests you will need to fully integrate your version control program into your test automation suite. By aggregating your code into Atlassian’s Bitbucket repositories, you can connect all your source code to Bamboo test suites, which means fully automated and streamlined test builds. Creating new branches, committing new code, and creating a pull request are among the things that can trigger build plans in Bamboo and provide results feedback right to your Bitbucket repo.
Once your code is tested successfully, the next lifecycle step is to deploy the build to a production environment. There are two common methods for releasing, continuous delivery and continuous deployment. If you want a safe guard and some manual input before fully pushing code to production, continuous delivery is for you. Bamboo will allow you to pre-configure your environments to then be able to hit a single button to deploy a ready build to production. If you want to have hands-off entirely, you can automate this deployment process with triggers, i.e. automatic deployment of any successful build, continuous deployment.
With the full Atlassian product suite, or at least Jira, Bitbucket, and Bamboo, the continuous integration cycle can start with a Jira issue ticket, in which you can create a branch in your Bitbucket repo, triggering a test suite build plan, which the success of will trigger your automatic deployment to an already setup production environment. Not only does Atlassian provide the links between the needed applications for this process to be automated, but it also communicates all the info and results of the process backward and upward for full visibility across all 3 programs.