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