Ccnet+proget+windows Batch builds a fully automated internal package packaging and push and management platform

Source: Internet
Author: User

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

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.