In recent years, software development has increasingly adopted a method called CI (Continuous Integration). In this method, the CI tool is a tool that automates build, test, and deployment in line with source code updates. This time, we will introduce “Jenkins”, a CI tool that helps improve work efficiency and reduce human error.
What is CI (Continuous Integration)?
“CI” is an abbreviation for Continuous Integration, and by performing a series of software development cycles of build, test, and deployment in a short span, software problems can be detected and developed at an early stage. It is a method to improve efficiency, save labor, and shorten the delivery time.
However, performing CI manually can be very time-consuming. Although unit tests and compilation of individual modules can be handled by the developer himself, the burden on the developer is heavy when performing integration tests and deployments involving various modules. There are also concerns about increased costs associated with running the development cycle in a short period.
Therefore, many development sites use dedicated CI tools to automate or semi-automate the above process. By building an automated test environment using CI tools, it is possible to reduce the burden on developers and reduce costs, as well as prevent personalization of work and the occurrence of human error.
Why CI is attracting attention
CI is a mechanism to improve the quality and productivity of software development by detecting various problems that occur when performing integration such as compilation and testing at an early stage and reducing rework.
If a rework occurs at the end of software development, the man-hours will be spent on repairs, and in some cases, the release may be delayed, so methods using CI to detect problems at an early stage are attracting attention.
Build an automated test environment with “Jenkins”
As of 2018, Jenkins is said to be the most popular CI tool. Originally released under the name “Hudson”, it was renamed Jenkins after a trademark issue with Oracle in 2011. Jenkins realizes automation and efficiency of work such as build, test, and deployment in software development.
Features of “Jenkins”
Jenkins can be managed, change settings, and view report from a web browser. It has two functions, “Continuous software build/test/deploy execution” and “External job monitoring”, and has the following features.
 High versatility
Jenkins is implemented in Java and is platform agnostic. It can work on both Linux and Windows as long as Java works.
 Wide range of triggers
The trigger for executing a program is called a “trigger”. It is possible to set an event as a trigger and execute a specific process at fixed timing. You can run the build when other jobs are completed or when the repository changes.
 Expansion is possible with a plug-in
Due to a large number of users, there are abundant plugins, and more than 1,400 plugins are available. Information in Japanese is easily available and is widely used in Japan.
How to build an automated test environment with “Jenkins”
Jenkins can automate the following tasks during software development:
・ Static code analysis
By automating the above work, the human burden is less than the manual operation, which leads to more efficient work and a reduction of human error. In addition, it is possible to reduce the number of personnel, which is one of the major advantages in terms of cost reduction.
For example, if you set the test failure as an email notification trigger and the tester’s email address as the email address from the setting screen, the tester can receive the email when the test fails. By doing so, you can reduce the time lag between dealing with problems when they occur.
Points when introducing “Jenkins”
The introduction of Jenkins can improve work efficiency, but as the number of teams using it increases, the management man-hours may increase. The server load may increase and the operation may become unstable, and it may be necessary to increase the server for stable operation. It is important to prepare an appropriate environment according to the size and form of the development team.
In addition, it takes some effort and time to set up an automated environment using tools. In addition, it is less flexible than manual operation, and it may not be possible to pay attention to details.
Therefore, if you want to build an effective automated test environment with Jenkins, we recommend that you ask a testing company.
This time, we introduced the CI tool “Jenkins” which helps to improve work efficiency and reduce human error. By introducing a CI environment and building an automated test environment with “Jenkins”, you can improve work efficiency, reduce human error and reduce costs.
Experience and know-how are required to build an automated environment. After understanding the advantages and disadvantages of automation performed by “Jenkins”, why not ask a company specializing in testing to incorporate it into the development site.
If you ever want to know about similar things, check out the Facebook page Maga Techs.