The tool to use:
1. CCNET (used to detect when SVN has changed commit automatically build and run NuGet automatic packaging and push batch processing)
2, Proget (currently see the best use of NuGet internal package management platform)
3. Windows batch (batch processing for Windows, automatic packaging and push for NuGet) (This is the hardest place to fix)
Specific steps to build:
First, to build a ccnet continuous integration environment, you can refer to the following articles:
Http://www.cnblogs.com/jillzhang/archive/2008/03/03/1089099.html
Http://www.cnblogs.com/wangjq/p/3977318.html
Http://www.cnblogs.com/cnblogsfans/archive/2008/04/24/1169689.html
Here you can use the configuration file: http://www.cnblogs.com/EasonJim/p/5773328.html
Second, configure and install Proget for internal package management:
Download and installation steps: http://www.cnblogs.com/EasonJim/p/5486530.html
After installation, create several feeds, as follows:
which contains the symbol server used by the package Debugdefault (debug mode of the package), Releasedefault (release mode of the package), Symbolsdebugdefault (the debug mode contains the source of the package), Symbolsreleasedefault (the package containing the source code in release mode).
With these four, basically only the release of the two, the rest are reserved for later.
In fact, proget do not need too much configuration, as long as the installation of a new good feed after some are OK.
Note: Here the Proget apikey for this form: User name: password, used in the NuGet command line with Setapikey, such as the Admin default account password when used: Nuget-setapikey admin:admin
Third, write the automatic packaging script, and then automatically push our internal four feed, here I have written batch processing, and use Runnugetpackage.bat can, and modify the following their actual information, the rest of the batch is to see the individual needs to use.
GitHub Address: Https://github.com/easonjim/NuGetRun
After downloading back to the local, according to the actual situation configuration Apikey, has the feed's push address, and puts in the form of a folder in the project root directory, because the batch processing already uses the CD. Go to the previous level of the jump, can be modified according to the actual, placed as follows:
Iv. after completing the above steps, you can test First compile the following items with Runmsbuild.bat (if not, check the parameters in the configuration), and then run the Runnugetpackage.bat script (if not, check the parameters in the configuration), no problem, submit SVN, and run with CCNet.
Here are the project nodes I configured:
<msbuild> <executable>c:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe</executable> <buildArgs>/p:outputpath=d:\a\b\framework\easemobsdk\1checkoutproject Files\easemob.restfull4net\bin\debug; platform="Any CPU"; Configuration=debug; generatedocumentation=true;D ocumentationfile=d:\a\b\framework\easemobsdk\1checkoutprojectfiles\easemob.restfull4net\bin\debug\ easemob.restfull4net.xml;debugsymbols=true</buildArgs> <workingdirectory>d:\a\b\framework\easemobsdk\1checkoutprojectfiles\ Easemob.restfull4net</workingdirectory> <projectfile>easemob.restfull4net.csproj</projectfile > <targets>Build</targets> <timeout>900000</timeout> </msbuild> <msbuild> <executable>c:\windows\microsoft.net\framew Ork\v4.0.30319\msbuild.exe</executable> <buildArgs>/p:outputpath=d:\a\b\framework\easemobsdk\1checkoutprojectfile S\easemob.restfull4net\bin\release; platform="Any CPU"; Configuration=release; generatedocumentation=true;D ocumentationfile=d:\a\b\framework\easemobsdk\1checkoutprojectfiles\easemob.restfull4net\bin\release\ easemob.restfull4net.xml;debugsymbols=true</buildArgs> <workingdirectory>d:\a\b\framework\easemobsdk\1checkoutprojectfiles\ Easemob.restfull4net</workingdirectory> <projectfile>easemob.restfull4net.csproj</projectfile > <targets>Build</targets> <timeout>900000</timeout> </msbuild> <exec> <executable>RunNuGetPackage.bat</executable> <basedirectory>d:\a\b\framework\easemobsdk\1checkoutprojectfiles\easemob.restfull4net\nugetrun</ Basedirectory> <buildArgs>all</buildArgs> <buildTimeoutSeconds> the</buildTimeoutSeconds> <successExitCodes>0</successExitCodes> </exec>
The principle is: Compile the Debug version and output the file, then compile release version, and finally run the Runnugetpackage.bat script to package and push.
The approximate principle can be described as follows: 1, the Code of the Public Library is submitted to SVN. 2, CCNet automatic detection and compilation. 3. After compiling, use batch processing to submit the package automatically.
Here is a bit of public library development should pay attention to: 1, specifications. 2, version number. Reference: http://www.cnblogs.com/EasonJim/p/5880233.html
About the symbol server source debugging method: http://www.cnblogs.com/EasonJim/p/5891742.html; If you want to use this, then the path of the above project compilation should not contain Chinese .
Ccnet+proget+windows Batch builds a fully automated internal package packaging and push and management platform