Article reprint: http://www.cnblogs.com/zz0412/tag/jenkins/default.html?page=1
What is Jenkins in the first chapter?
Jenkins is an extensible, continuous integration engine.
Mainly used for:
- L Build/test software projects continuously and automatically .
- L Monitor Some tasks that are scheduled to execute .
Jenkins has features such as:
- Easy installation-No database support is required as long as the Jenkins.war is deployed to the servlet container.
- L easy to configure-all configurations are implemented through the Web interface they provide.
- L Integrated Rss/e-mail Publish build results via RSS or e-mail notification when the build is complete.
- L Generate junit/testng test report.
- L Distributed build Support Jenkins enables multiple computers to build/test together.
- L File Recognition: Jenkins is able to track which jars are built, which build uses which versions of Jars, and so on.
- Plug-in support: Extensions are supported and you can develop tools that are appropriate for your team.
First, the Origin of Jenkins
Current continuous Integration (CI) has become a common practice for many software development teams to focus on ensuring code quality throughout the software development lifecycle. It is a practice designed to mitigate and stabilize the process of building software. and can help your development team meet the following challenges:
- L Software build Automation: After the configuration is complete, the CI system builds the target software according to a predetermined schedule, or for a specific event.
- • Build sustainable automated checks: The CI system continuously acquires new or modified checked-in source code, meaning that when the software development team needs to periodically check for new or modified code, the CI system constantly confirms that the new code destroys the successful build of the original software. This reduces the amount of time and effort developers have to take to check for changes in their interdependent code (say, Money, huh?).
- • Build a sustainable automated test: Build an extended section of the inspection, build and execute a pre-established set of test rules, and trigger notifications (EMAIL,RSS, etc.) to the relevant parties upon completion.
- • Automation of post-build processes: When automated checks and tests are completed successfully, some additional tasks may also be required during the software build cycle, such as generating documents, packaging software, deploying artifacts to a running environment, or a software repository. In this way, artifacts can be provided more quickly to the user.
The minimum requirement required to deploy a CI system is a repository of source code that can be obtained, and a project that contains a build script.
Summarizes the basic structure of CI system:
The various components of the system are functioning in the following order:
1. The developer checks in the code into the source code repository.
2. The CI system creates a separate workspace for each project. When you preset or request a new build, it will store the source code repository in the corresponding workspace.
3. The CI system executes the build process within the corresponding workspace.
4. (Configuration if present) after the build is complete, the CI system executes a defined set of tests in a new artifact. Trigger notification after completion (EMAIL,RSS, etc.) to the relevant parties.
5. (Configuration if present) if the build succeeds, the artifact is packaged and transferred to a deployment target (such as an application server) or stored as a new version in the software repository. A software repository can be part of a CI system, or it can be an external repository, such as a file server or a Web site like java.net or sourceforge.
6. CI systems typically initiate actions based on requests, such as building on the fly, generating reports, or retrieving some of the built-in artifacts.
Jenkins is such a CI system. Previously called Hudson.
Here are some reasons to use Jenkins:
- L is the simplest in all CI products for installation and configuration.
- Based on Web Access, the user interface is friendly, intuitive and flexible, and in many cases provides instant feedback on Ajax.
- Jenkins is a Java-based developer (useful if you're a Java developer), but it's not limited to building Java-based software.
- L Jenkins has a large number of plugins. These plugins greatly extend the functionality of Jenkins, they are open source, and they can be installed and managed directly through the Web interface.
Ii. The goal of Jenkins
The main goal of Jenkins is to monitor the software development process to quickly display problems . So we can ensure that developers and related personnel save time and effort to improve development efficiency.
The main role of CI systems throughout the development process is control: When the system detects changes in the code repository, it delegates the task of running the build to the build process itself. If the build fails, the CI system notifies the person concerned and continues to monitor the repository. Its role seems to be passive, but it can quickly reflect the problem.
In particular, it has the following advantages:
- L Jenkins All configurations can be done on the Web interface. Some configurations, such as maven_home and email, need to be configured only once, and all projects will be available. Of course, you can also configure it by modifying the XML.
- L Support Maven module, Jenkins optimizes maven, so it automatically recognizes module, each module can be configured as a job. Quite flexible.
- L Test Report aggregation, all module test reports are aggregated together, the results at a glance, using other CI, this is almost impossible to complete the task.
- L Component Fingerprint (artifact fingerprint), the results of each build component are well managed automatically, without any configuration can easily browse the download.
What is Jenkins in the first chapter?