Creating a tagged project using CruiseControl.Net

my manager asked me to configure build automation for our projects. I decided to use CruiseControl.Net as our continuous integration server, as some other team members have little experience with it, I do not have it - that’s why I am happy to complete this task.

We use Subversion as our repository, and the ultimate goal is to instantiate the assembly every time we mark the project. For example:

Adding a folder to svn: // svn / tags / ProjectX / e.g. svn: // svn / tags / ProjectX / JulyCheckPoint should check the newly added tag (svn: // svn / tags / ProjectX / JulyCheckPoint) in the local directory (D: \ temp \ tags \ ProjectX \ JulyCheckPoint) and run the nant file (D: \ temp \ tags \ ProjectX \ JulyCheckPoint \ nant.build)

I know CruiseControl can track svn: // svn / tags / ProjectX / for changes, but I'm not sure how I'm going to check the last tag on the local disk of the build server and run nant.build inside if I don't know the name of the last tag . I did a bit of googling and believe that svn post-commit hooks may be something that I should learn.

I hope this all makes sense, please let me know if you require further details / clarifications. Any recommendations / recommendations would be highly appreciated.

Greetings.

+3
source share
4 answers

Since you know how to control / svn / tags / ProjectX / for changes, you can run it with a nant script. This script can execute commands against svn (see svn tasks at http://nantcontrib.sourceforge.net/release/0.85/help/tasks/index.html ) to check the last folder in / svn / tags / ProjectX /. From here, you can use this nant script to call the nant script in the extracted folder using the nant task.

+2
source

This does not answer your question, but I am curious why you prefer to build from tags rather than HEAD?

, .

. , .

+1

, , , - svn: externals, , , .

svn propget svn:externals blah

, , svn checkout http://svn/repos/blah

CruiseControl.NET

<checkExternals>True</checkExternals>
<checkExternalsRecursive>True</checkExternalsRecursive>

0

. nant , nant .

CruiseControl.Net( ) nant . nant #, svn://svn/tags/ProjectX/location.

, svn-checkout - svn://svn/tags/ProjectX/ nant .

- - , , . !

0

Source: https://habr.com/ru/post/1712438/


All Articles