Continuous integration and continuous delivery

Continuous integration (CI) and continuous delivery (CD) (eventually deployment) are the processes that are used to build, package, and deploy your application.

Here is a diagram depicting the flow of CI/CD:

Essentially, the developer team commits the source code to a version control system—hopefully a GitHub repository; the CI tool polls down the latest version of the code and builds the application.

Building also involves unit testing and integration testing. There are different frameworks out there to use for both unit and integration testing. Of course, it depends on your runtime environment. For example, in Java, you can rely on JUnit and Arquillian for unit testing and integration testing, respectively.

The build phase also includes code inspection for quality, spotting anti patterns, optimizations, coverage, style, and so on.

Once you have the green light from the test, you can actually release your application to your first environment, which most of the time is development/test.

Typically, the environments are development, test, user acceptance test (UAT), preproduction, and production. But this is really dependent on the organization in terms of cost control and policy.

However, as long as you have test, UAT, and production, you have enough environments to manage the life cycle of your deployment.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset