Java Agile Development Environment building

Source: Internet
Author: User

Http://www.lanceyan.com/chuangye/java_agile_develop_tools.html

The previous introduction of the entrepreneurial software company's work model, here in detail how to implement, the first step is to build the environment, with the environment in order to work.

The entire software project is divided into four environment development local environment, development environment, test environment, IDC environment. Unlike traditional C + + development, the pattern is more than the first development on-premises environment. This is why, because most developers are still more familiar with Windows development. For Mac and Linux to use software directly and the development of the Chinese developers are still few, this architecture is made out of this situation. The following is an architectural diagram of the environment:

In terms of the environment:

First, the development of the local environment, the development of integrated server building. Front-end developers, background developers.

Most of the front-end development is Photoshop and Dreamweaver. Most of the PSD will not be co-developed until the entire file is passed over. HTML cutting may be more personal collaborative development. This time requires a centralized FTP server, SVN server. The SVN server is used to save the version code base, which is used to save historical revisions and collaborate with developers. The FTP server is suitable for timely modification when saving uploads to the preview server for previewing. See here Someone may ask, I directly merge SVN and FTP not? In fact, if you submit svn directly, the background developer will see it from SVN. It was originally a preview of the integrated collaborative development of the front end that affected the background easily causing version confusion.

Background development How to build the environment? Use Eclipse to build a development environment in your local environment and start debugging class and JSP with the Tomcat plugin or jetty. I've seen a lot of companies that have been released into the integration environment and debugged by fighting a war package. Integration environment everyone to integrate easy to cause version confusion. Even if you do not publish to the integration environment, it is a waste of time to restart the war package locally even if you modify a small class file. It is best to take advantage of Tomcat's hot deployment and modify the small features directly into effect. Now that's how we do it, using MAVEN to manage jar dependencies, ant local Packaging, copy packages, and rapid development with the eclipse's Tomcat plug-in hot deployment. Wait until all the features have been developed. Publish the branch version to the development environment for integration testing.

The development environment involves the following software: Nexus, MAVEN, Tomcat server, MySQL, FTP, Jenkins, SVN, Jira, Fisheye, Eclipse, Dreamweaver, Photoshop, Nginx.

The role of software:
Nexus is managed as a centralized warehouse because each project has a bunch of jar packages that are difficult to manage. Plus SVN uploads, branching, merging consumes network bandwidth, space. If there is a place where these wasted jars are centrally managed, it would be nice to have all the projects together.
MAVEN is a software lifecycle, dependency management, and with a centralized management jar package, you need something to connect the jar package warehouse to the project.
The Tomcat server is a locally developed use and centralized test server.
MySQL doesn't have to be installed on every development machine, and in a development environment.
FTP is used as a front-end development upload file.
Jenkins is continuous integration, development and front-end all the code, how to integrate together to test, always need to have a person to bring all the files together? This software plays the role of integrating, compiling, packaging, and publishing all files to the Tomcat server. Such as:

SVN code version Management, everyone knows the synergy.
Jira is used for management of requirements and bugs.
Fisheye is used for code statistics, auditing, and so on.
Eclipse, Dreamweaver, Photoshop needless to say.
Nginx is mainly used to do virtual host and static resource management. Because we may develop multiple sites at the same time, Nginx can be forwarded to different Web servers depending on the domain name.

Second, test the server. Development, testing.

After the development integration test environment passed, this can be transferred to the test. With continuous integration, testing deploys the environment and starts testing. The test environment also relies on software such as centralized warehousing, MAVEN, and continuous integration. That is, the integration test environment, the development of integrated environment, the development of the local environment is a set of jar package, is not very cool. If the test does not pass, it should be back to development, development and re-testing. How to ensure the quality of development and testing quality, but also the cooperation of everyone, this process involves software engineering and performance appraisal, and later. The test passes some tests, and the test can be published to the extranet after passing it. At this time, you need to provide a release list, operation steps, database operations scripts to the operation of the audit, approved before the release.

How to publish to the external network IDC? Operations can be based on the release list to operate, development and front-end waiting to stay up late, stay up late. No efficiency! Here is a way to make an incremental release version, through the release list, our Publisher automatically detects the published files and the published machine, published to the corresponding server. If the publication fails, you can also roll back the file, which is basically a one-click operation. The future also integrates server restarts, log output, and so on.

Third, IDC server.

External network of real servers, backstage and foreground. You can access to the Web server. The business person is reviewed after the version is released. The whole process is done. Everyone in each version of the development is finished, can be very good collaboration, development, testing, release.

Extended topic:
1, Photoshop can and HTML and have version management function, this is a revolutionary symbol.
2, CSS, JS and other static files can also be included in the automatic dependency management. This does not need to publish a page file when we find that there are some dependent JS is not released.

original articles, reproduced please specify: reproduced from lanceyan.com

Java Agile Development Environment building

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.