This time I will bring you the continuous integration of Jenkins+Node.js, what are the precautions of continuous integration of Jenkins+Node.js, the following is a practical case, let’s take a look one time.
First of all, we need to understand what is continuous integration(Continuous integration)
The proposer, Martin Fowler himself, defines continuous integration as follows: Continuous integration is a software development practice, that is, team development Members integrate their work frequently, usually at least once per day per member, which means multiple integrations may occur per day. Each integration is verified through automated builds (including compilation, release, and automated testing) to detect integration errors as quickly as possible. Many teams find that this process can greatly reduce integration issues, allowing the team to develop cohesive software faster.
As the complexity of software development continues to increase, how to better collaborate among team development members to ensure the quality of software development has gradually become an unavoidable issue in the development process. In particular, agile development (Agile) is becoming more and more popular in the field of software engineering. How to quickly adapt to and ensure the quality of software in the changing needs is also particularly important.
Continuous integration is a software development practice for this type of problem.
The core value of continuous integration is:
Reduce risks and reduce repetitive processes
Generate deployable software at any time and anywhere
Enhance the project Visibility
Build the team's confidence in developing products
Principles of continuous integration
All developers need to do local builds on their local machines and then submit them to version control repository to ensure that their changes do not cause continuous integration to fail.
Developers submit code to the version control repository at least once a day.
Developers need to update code from the version control repository to the local machine at least once a day.
A dedicated integration server is required to perform integrated builds, and multiple builds are performed every day.
Every build must pass 100%.
Every build can produce a releasable product.
Fixing the failed build is highest priority.
Testing is the future, the future is testingJenkinsJenkins is an open source project that provides an easy-to-use continuous integration system to free developers from complex integration Free yourself from it and focus on the more important business logic implementation. At the same time, Jenkins can implement monitoring errors in integration, provide detailed log files and reminder functions, and can also use charts to vividly display the trend and stability of project construction. InstallationDownload the latest war file from the Jenkins official websiteRun java -jar jenkins.warIf the operation is successful, a new .jenkins will be created in the user's personal directory /FolderVisit localhost:8080 to reach the Jenkins homepage
If you feel that the existing plug-ins cannot meet your needs, you can develop them yourself (recommended: A brief analysis of Jenkins plug-in development)
Create a new freestyle project
Configure the source code, here is git as an example, Credential can configure account password, sshBuildTriggerI chose the
Timer mode. The configuration syntax is such as crontab. You can click the question mark on the right to view the instructions. By the way, to trigger the remote build, it can be triggered by the corresponding URL of the remote request. This can be used with the hook of the repository. The automated test of the new commit
build can be done through four Build in various ways, batch, shell, ant, maven, choose according to your own needs.
I use shell, you can add multi-step build and execute it in sequence
After the build you can package, build other projects, publish test reports, publish javadoc, git release, Email reminder
Here we will just talk about email reminder
Email reminder
In this way, we have completed the establishment of the continuous integration environment. If the startup fails or the test fails, an email notification will be sent.
I believe you have mastered the methods after reading these cases. For more exciting information, please pay attention to other related articles on the php Chinese website!
Related reading:
How to implement asynchronous file upload in html
How to achieve the effect of scrolling fonts and pictures with the marquee element
How to set the width attribute for span tag style
The above is the detailed content of Continuous integration of Jenkins+Node.js. For more information, please follow other related articles on the PHP Chinese website!