A short article to introduce you to continuous integration and Jenkins

1. What is continuous integration

The so-called continuous integration is actually what is commonly called CI (Continuous Integration), which can be said to be the technical basis of modern software development. In fact, it is a real game changer, CI can fundamentally change the way a team thinks about the entire software development process. A good continuous integration infrastructure can simplify the development process until deployment, help developers detect and fix bugs faster, provide a useful project dashboard for all developers and non-developers, and finally help the team deliver more real business value to end users.

Before using continuous integration, projects were basically full of waterfalls and Gantt charts, and the time and energy of the development team were spent in the period before releasing a version, which is the so-called integration phase. At this stage, code changes made by certain developers or small teams will be integrated into the final product piecemeal. It's a messy thing, and sometimes it can take months just to integrate some conflicting changes.

Continuous integration, in its simplest form, is really a tool that monitors changes to our version control system. This tool automatically compiles and tests your application whenever it detects a change in the project code. If something goes wrong, it notifies developers right away so they can work on fixing the problem right away.

But the capabilities of continuous integration are more than that, and there are more things it can do. Continuous integration can help us closely monitor the health of the code base, automatically monitor code quality, and help us reduce maintenance costs.

Essentially, continuous integration reduces risk by providing faster feedback. First, it's designed to identify and fix issues faster, with the goal of smoother, faster delivery and fewer bugs.

The idea design of automated deployment is very important. In theory, the automated deployment process would allow us to push each build to production with the necessary automated tests. This practice of directly and automatically deploying code is called continuous deployment.

In a word, continuous integration technology, especially continuous deployment and continuous delivery, is to provide value to end users faster.

 2. Introduction to Jenkins

2.1 Introduction

Jenkins, originally called Hudson, is an open source continuous integration tool written in the Java language. As far as the current continuous integration market is concerned, Jenkins' market share is far ahead.

picture

Jenkins has the following characteristics:

  1. Jenkins is easy to use : its user interface is very simple and elegant, adding to the visual appeal, and Jenkins as a whole has a smooth learning curve.

  2. Jenkins has good scalability : it can cater to your ideas extremely flexibly and conveniently. It has hundreds of open source plugins available, and more are being contributed every week. These open source plugins cover system version control, build tools, build notifications, external system integration, user interface customization, and more. And the installation of these plugins is very fast and simple.

  3. Has an active open source community: The reason why Jenkins is popular with the public is due to the size and activity of its open source community. The Jenkins community includes a large, fluid, responsive and open discussion group, active mailing list, IRC channel, well-known blog area and Twitter account. The Jenkins community is growing very fast, with new features, features, bug fixes and plugin updates being released every week.

2.2 Development history

Jenkins started in 2004, a project called Hudson developed by Sun employee Kohsuke Kawaguchi based on his personal hobbies. After several years of development, more and more teams within Sun have begun to use Hudson in various projects. At the beginning of 2008, Sun recognized the quality and value of this tool and asked Kohsuke Kawaguchi to devote all his time to Hudson, and Hudson provided professional services and technical support. By 2010, Hudson had become the leader in continuous integration solutions with over 70% market share.

In 2009, Oracle acquired Sun. Until late 2010, tensions arose between the Hudson developer community and Oracle, initially sparked by Java.net infrastructure issues and later exacerbated by Hudson's trademark issues. These tensions also reflect fundamental disagreements about putting the project under Oracle's management. So in January 2011, the Hudson developer community voted to officially rename the project to Jenkins.

This is the origin of Jenkins that you see today.

Guess you like

Origin blog.csdn.net/JACK_SUJAVA/article/details/131857896
Recommended