Monday, June 5, 2017

CI/CD in EPAM Cloud - Complete, Automated, Integrated

No matter which product we develop, in which industry and for which customer, it all boils down to the same requirements – code quality, timely delivery, reliable performance. With lots of project teams, development platforms and tools, it was critical to come up with a unified approach to code quality and continuous delivery to ensure top-notch end product. This requirement evolved into a whole dedicated project committed to help development projects to establish the most effective, productive and optimal engineering process. The project team is in constant search and analysis of engineering tools and best practices and they are ready to share their expertise and knowledge with the rest of the EPAM Community.

CI/CD Services Go Cloud

Naturally, all good things developed in EPAM eventually find their way to EPAM Cloud, because it is the easiest way to make a service or tool available for everyone. EPAM Cloud has developed the unified method of platform deployment – the so-called Platform Services. With this approach, deployment requires no special knowledge and skills from the developer – one CLI command does it all. When the command is sent, lots of processes start in the background – virtual machines are created, software is installed and configured, components are properly integrated. This is the beauty of Platform Services in EPAM Cloud – automation to the maximum. You can find the details of all services implemented in Cloud on our website.

The engineering excellency project also offered to combine their experience and know-how with Cloud technology, and soon EPAM Cloud started developing its first CI/CD service – Jenkins as a Service.

We continued adding services one by one. Jenkins, the core continuous integration service, was followed by Gerrit for code review and SonarQube for code quality inspection. And now, the final piece of the puzzle has fallen into place – Artifactory as a Service was released in February, 2017, completing the CI/CD package which can be deployed in Cloud.

Automating Components Integration

To create a fully functional CI/CD environment, it is not enough to have four standalone services. The key point was to enable their automatic integration, so that all flows work smoothly and require minimum manual interventions.

The Jenkins-Gerrit and Jenkins-SonarQube integration is automatic. As soon as you start Jenkins and Gerrit services for your project, all corresponding jobs are created and data exchange is established properly. Similar processes occur when Jenkins and SonarQube are started.

However, when you start all three services simultaneously, there should be some manual setup, as Gerrit and SonarQube are not integrated automatically. You will need to install a special plugin, create a dedicated job and make certain configuration settings. You can find detailed instructions on Gerrit-SonarQube integration below.

After you have completed all integration steps, you will have a functional CI/CD environment with code review and code quality inspection tools. This is a solid platform which can help your project to achieve better code quality and stable and timely delivery.

However, you can make the most of Cloud CI/CD by using Artifactory as a Service. By activating the service, you are getting a JFrog Artifactory server together with a storage for your artifact collections and metadata. Currently, Artifactory is not immediately integrated with your Jenkins, this also requires some manual configuration – installing a plugin and setting up its parameters for Artifactory to be properly connected to Jenkins.  See below for details on integrating Artifactory with Jenkins.

As the result, you will have a complete Cloud-based CI/CD environment which requires minimal manual configuration. All required virtual resources will be created and all components will be deployed automatically.



For your convenience, we gathered the detailed instructions on CI/CD components integration into one file, available by this link. Explore the details and try!

No comments:

Post a Comment