Achieve continuous integration in the New Year

Continuous integration is a lot more than the tool you choose; it’s the way you do DevOps.

Continuous integration is the fulcrum of continuous delivery, since it allows you to optimally distribute work with confidence that your work will be properly assembled into target deliverables. By monitoring source code repositories, running builds whenever code changes are detected, running tests against compiled software, and generating artifacts like binaries and documentation, developers can ensure new features or fixes don’t have a negative impact on the existing product.

When looking for the best continuous integration tools we recommend you consider the following considerations:

  1. Consider open sourceOpen-source tools constantly evolving, they have a rich support community and they are developed according to your needs, because in the end you are the customer.
  2. Choose a tool that is the missing piece in your puzzle – Choose tools that integrate with existing tools you are using. You wouldn’t want to change your whole suite – it’s a hassle and very costly, so try to find tools that easily incorporate themselves into your working environment.
  3. Check for self-service – Choose tools that have a self-service platform. This lets you easily modify and upgrade whatever you need, immediately, without waiting for other people’s decisions.
  4. Find tools that have rich documentation – If you need to get started quickly, or want to find answers at any time of day or night, make sure you have easy access to a place that has the answers.
  5. Automate – Make sure your chosen tool automates the process. This saves you time, makes your work of higher quality because it ensures your integration is smooth and as flawless as possible, and it also makes your work more interesting, because you’re probably automating the dull and repetitive work and not the exciting and creative parts of it.

We highly recommend using Jenkins as your continuous integration tool, because it answers all the above criteria and more. With Jenkins, you can easily create a workflow that will automatically run your tools and tests, providing you with anything you need to build test and deploy software.

Now that you have your continuous integration tool, either Jenkins or something else, you’re ready to move forward. Because effective continuous integration requires more than just a Jenkins instance. It requires a DevOps ecosystem that seamlessly interoperates with Jenkins or any other CI engine-of-choice.

A complete DevOps ecosystem can have dozens of tools, each one polishing, sharpening and improving the development and deployment process. To make things easier to follow, here are 5 categories you can divide your ecosystem into, with recommended tools.

Stage 1 – Plan

When planning, the product and features are thought of, displayed and analyzed together by the product management, developers and QA engineers. As this step requires a lot of thinking, collaboration and coming up with solutions, you can use different tools to help you with that.

These include CA Agile Central, Jira and Confluence for assignment tracking and management, Slack and HipChat for communication, Aha! For roadmap planning, and Mixpanel and Google Analytics for measuring user engagement.

Stage 2 – Develop

This is the stage when the ideas turn into code. Therefore, you probably need many tools for software configuration management, repository management, building and of course, Continuous Integration.

We’ve already recommended Jenkins, and we would also like to add Bitbucket and GitHub for Version Control System management, NPM for package management, and webpack for managing build modules.

Stage 3 – Test

Continuous testing is an important part of continuous integration, as this is the part that ensures that the newly developed features or bug fixes work, both on their own and as part of the complete product. Continuous testing includes performance testing, functional testing, unit testing, 3rd party integrations testing, and more. Results should be clearly displayed and analyzed, to enable product improvement.

Recommended tools include JMeter (free and open source, learn how to use it from this free JMeter Academy), CA BlazeMeter, Locust, Selenium and CA Service Virtualization.

Stage 4 – Release

Continuous Integration has transformed the release stage and made it smooth and agile, and also raised many interesting discussions about the correct release methodologies.

There are many recommended tools to use such as: Chef, Puppet and Ansible for Configuration Management, Docker, Rocket, Kubernetes and Nomad for Container Runtimes and Orchestrators, and AWS, Google Cloud and Microsoft Azure for Cloud Infrastructure.

Stage 5 – Operate

As the cycle continues and we continue to plan, develop, test and release, we also want to maximize its features. Choosing the right infrastructure monitoring, application performance monitoring, aggregators and BI analysis tools, makes sure our product will raise to new heights and be kept error free.

We recommend: CA Digital Experience Insights, a SaaS-based digital experience monitoring and analytics solution, puts a holistic view of the user experience, application performance, and infrastructure management in the hands of developers and IT operations.

As you can see, continuous integration is a lot more than the tool you choose. Instead, it’s the way you do DevOps. It’s definitely worth putting in the time and effort to think how your engineering team can go agile. Then, teach each other about the different tools available and complement your strengths and weaknesses with them. Finally, automate everything, and go pour yourself an eggnog.

 


Noga Cohen is a Sr. Product Marketing Manager for CA BlazeMeter. She manages the CA…

Comments

Modern Software Factory Hub

Your source for the tips, tools and insights to power your digital transformation.
Read more >
RECOMMENDED
How to Stay in the PinkWeWork's VP of Engineering on the Big Difference the Little Things MakeManufacturer's Reimagined Processes Enable a Step Change in Growth