Continuous Integration (CONTINUOUS INTEGRATION)
In the CI environment, developers will often submit code to the trunk. The new code is submitted before the final merged into the trunk requires the compiled and automated test streams for verification.
Continuous Delivery (CONTINUOUS DELIVERY)
It allows software product output process is completed within a short period, to ensure that the software can be stable, sustained release can be maintained at any time of the situation. Its goal is to allow the build, test and release software faster and more frequent. This way it can reduce the time and cost of software development and reduce risk.
Continuous deployment (CONTINUOUS DEPLOYMENT)
In the CD environment, through automated build, test and deploy cycle to quickly deliver high-quality products. To some extent represents the degree of a development team engineered, any amendments adopted all existing customer workflows and will meet directly, and only when a build fails to modify the workflow in order to prevent it from deploying to the product line.
Jenkins Continuous Integration
Jenkins is an open source, scalable, continuous integration, delivery, deployment (compilation Software / code, package, deploy) platform for web-based interface. Allows continuous integration and continuous delivery of projects, no matter what the platform, build or continuous integration can handle any type.
Feature
- Open-source continuous integration tool for java language development, support CI, CD;
- Easy to install deployment configuration: by mounting yum, or war package download and installation docker containers quickly achieved through deployment, configuration management easy web interface;
- And the test report message notification: Integrated RSS / E-mail released through RSS or build results when the build is complete notification by e-mail, generating JUnit / TestNG test report;
- Distributed building: support for Jenkins to allow multiple computers to build / test together;
- File identification: Jenkins can keep track of which generates a jar build what time, what time building such as the use which version of the jar;
- Rich plug-ins support: supports extensions, you can develop your own tools for team use, such as git, svn, maven, docker and so on.
- Timing build, build automation build a release trigger
1, Jenkins built environment
Note: The installation Minimum: not less than 256M of memory, no less than 1G disk, JDK version> = 8 (openjdk can).
windows:
1, the installation JDK
https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
2, installation Jenkins
https://jenkins.io/zh/download/thank-you-downloading-windows-installer/
3, install mis-extracting file, the default option, you need to modify the installation directory
4, after the installation is complete service automatically. Visit http: // localhost: 8080 / to enter the Home
Mac:
Linux:
Unlock password to unlock the prompts to obtain the specified directory
Install plug-ins, the novice can install recommended plugins
After the installation is complete the user to enter the settings page
Set access address
Continue after came home, you can be properly used
Install plug
Allure Plugin
After reboot to install the plug
http://localhost:8080/restart
download
http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.12.1/allure-commandline-2.12.1.zip
Set up
Global Tools Configuration-》Allure Commandline
Liberty-style building project
Construction set the timer
Syntax set time
* Denotes a first minute, ranging from 0 to 59
* Represents the second hour, ranging from 0 to 59
* The third day of the month, ranging from 1 to 31
The fourth * denotes the first few months, ranging from 1 to 12
The fifth * represents the day of the week, ranging from 0 to 7, where 0 is Sunday and 7 representatives