Thursday, June 8, 2017

Introduction to Continuous Integration and Jenkins

Continuous Integration is a software development practice in which developers will be committing their code copies to central repositories (Git, SVN GitHub) frequently and for each integration automated build verification tests (unit tests) will be executed to accept or reject the build.

One the gating conditions met the build will be accepted and then further steps like functional tests, performance tests will be executed as part of CI/CD pipeline and finally build will be deployed.

In recent times Continuous Integration has become best-practice in software development. On of the advantage of CI is to identify the defects quickly and easily. Because each time relatively small component will be integrated to the system, finding out the defect in the small component becomes easy.

Generally the build verification tests are written by developers which are mainly unit tests to test their code. They create some Jobs in the Jenkins to trigger the unit tests when some code/build is committed in the share point. If the tests are passed the build is deployed to the application.

Using the above mechanism of CI tool like Jenkins in automation testing, the smoke or regression test suites can be triggered whenever the build deployed in the application server successfully. This continuous process reduces manual intervention; testers not need to wait for the build to get deployed to trigger the automation tests.

Jenkins is a mostly used Continuous Integration tool and it is developed in Java. Because it is developed in Java, Jenkins is platform independent tool, can be used in Window, Mac and etc. 

No comments:

Post a Comment

DevOps 01: What is DevOps and How it benefits organizations?

DevOps is a culture in an organization, where the development team and operations team help each other by sharing information, process and t...