Daily construction of advanced software engineering [3]: Process

Source: Internet
Author: User

Previous post
I have already introduced some preparations. Let's take a look at the specific process today. For every step of the process, I will emphasize what is prone to problems.

★Submit code to the source code Management Server
The following is a Revision Control System for ease of typing ).
Unlike the old-fashioned software workshop, programmers do not need to compile binary files and submit them to the test after implementing a Function Point. Instead, the code is submitted to the RCS. Anyone who has used the RCs should know how to submit the code. I will not elaborate on it here.
Note two points for this step: one is to ensure that the submitted code can be compiled, and the other is the frequency of submission. These two points make good use of tools
As mentioned above, I would like to add another point: After many programmers add files to the project, they forget to add files in the RCS. Although his/her local source code can be compiled, the compilation fails on the Compilation server.

★Extract code from the source code server to the compilation Server
This step is a scriptAutomatic
Without human intervention. To enable the script to run on your own, you may need to set a "scheduled task" in the operating system to start the script.
This script is mainly used for code checkout/update (the software names of different RDSS are different) operations. The command line method is provided for various types of RCS software. Therefore, this script only needs to call the command line.
This step is relatively simple and generally does not cause any problems. After the script is executedAutomatic
Execute the subsequent compilation script.

★Generate the final installation package on the Compilation Server
The script in this step is complex. You have to compile all the modules that need to be compiled, and then assemble them into the installation package.
 
Almost all compiled programming languages are compiled with command lines in their development kits (for example, javac in JDK, CL in VisualC ++, and mxmlc In Flex ). With these compilation commands, we can work with some make tools (such as ant, nmake, and POSIX commonly used in Java ).
You can compile a project into several binary files.
After all the projects are compiled, you can create the installation package in the next step. Most installation packages (such as InstallShield, NSIs, and rpm) also provide command line methods. After the installation package is created, this step is complete.
One of the most common problems with this step is that compilation of a project may fail. Once a failure is found, the entire compilation process can only be terminated. This is the best timeAutomatic
Send a 100,000 million urgent email to inform the person in charge of the daily building and the person in charge of the relevant project/product. Then the guy who caused the compilation failure looked good: He was scolded and criticized.
Why are compilation failures severely pinched? Because daily building is called the heartbeat of the software development process, if the automatic compilation fails, the heartbeat is stopped (the work of the tester will be affected and the project progress will be affected in the next workday ), that's serious. Therefore, in general, the larger the team, the heavier the punishment for the compilation failure.
 
Another cause is incremental compilation. The so-called incremental compilation is to compile only the modified source code file when making a project (mainly to compare the modification time of the source code file and the modification time of the corresponding binary file ). Some tools are not intelligent enough to judge incremental compilation, resulting in the source code file that should be compiled not being compiled (it is easy to cause strange problems ). For the sake of security, I usually use full compilation (that is, before compiling a project, delete the corresponding binary files ).

★Submit the installation package to the Publishing Server
If the installation package is successfully compiled, the next step is to install the installation package.Automatic
Transfer to the Publishing Server. The transfer script is also stored on the Compilation server and called after the compilation script is executed.
This step will not cause any errors, unless your company's network is unstable, resulting in file damage during the transmission process (you can only identify yourself as unlucky ).

★Obtain the installation package from the Publishing Server for Smoke Testing (optional)
If you have never heard of the smoke test, see "here
". First, let's explain that the smoke test is not a required step, but I suggest you do it better. Smoke Testing is a simple and basic verification of the main functions of the software to ensure that the automatically compiled installation package isBasic availability
. If the smoke test fails (similar to compilation failure, it is also a serious accident), it indicates that the software has a serious bug, testers no longer need to test the version (to avoid being too busy ).
A specific smoke test script is generally responsible for Smoke Testing. This script is usually placed on the test server. It is also started regularly by such tasks as scheduled, and then the installation package is removed from the Publishing Server for related verification.

★The tester obtains and tests the installation package from the Publishing Server.
If the above steps are still successful, the tester will be able to get the installation package from the Publishing Server and start the testing work for one day during the next workday.
Here is a small suggestion: "The tester downloads the installation package and installs it" is best to use the scriptAutomatic
. In this way, when the tester goes to work, the installation package completed in the early morning hasAutomatic
Once installed on the test machine, the tester can start testing the software as soon as he opens the computer.

The above are the main steps for building every day. If you have any questions after reading this article, you are welcome to ask questions in the blog comments. I will try my best to answer them.


Copyright Notice

All original articles in this blog are copyrighted by the author. This statement must be reprinted to keep this article complete, and the author's programming will be noted in the form of hyperlinks
And the original address of this article:

Http://program-think.blogspot.com/2009/02/daily-build-3-proces.html

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.