In software development process, continuous integration
plays very important role. By the way what is continuous integration?
Imagine, we have a unit test, integration test and UAT
environments. Every developer could modify everything in unit test environment.
But no developer could modify the code or compile the code in higher
environments like integration test or UAT. Therefore, any fix or code change
tested in unit test environment needs to be elevated or promoted or deployed to
higher environments before it could be tested in higher environment. In order to elevate to next environment, we
first check-in code to central repository or version control tool. So the code
will be just in one repository that is version controlled. Then the code from
version controlled repository will be build (i.e. compiling, linking, binding
variables etc) and executables will be deployed to next higher environment or a
workspace from where elevation happens. This process is called integration. If
we are making changes and check-in code to version controlled repository very
frequently and executables are regenerated continuously in next higher
environment or a workspace, then it will become continuous integration.
Continuous integration normally be automated so that as soon as check-in
happens, build will start and executables will be deployed to next environment
or workspace or server, from there elevation to next environment takes place.
Continuous Integration process varies depending on type of
code. The above explanation holds good if code is, for example, Java that need
to be compiled, JAR or WAR need to be created. But if it is just unix shell
scripting which do not require compiling, the continuous integration may be
just copying the code from version control tool to designated environment
therefore we may not see any continuous integration tools like Hudson or
Jenkins playing any role in Unix Shell Scripting projects as it could be
automated with simple scripting in native OS.
Assuming we are working in a JAVA project, the continuous
integration could be implanted as below
No comments:
Post a Comment