Wrox Programmer Forums
Go Back   Wrox Programmer Forums > .NET > Other .NET > General .NET
|
General .NET For general discussion of MICROSOFT .NET topics that don't fall within any of the other .NET forum subcategories or .NET language forums.  If your question is specific to a language (C# or Visual Basic) or type of application (Windows Forms or ASP.Net) try an applicable forum category. ** PLEASE BE SPECIFIC WITH YOUR QUESTION ** When posting here, provide details regarding the Microsoft .NET language you are using and/or what type of application (Windows/Web Forms, etc) you are working in, if applicable to the question. This will help others answer the question without having to ask.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the General .NET section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old August 29th, 2007, 06:30 AM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default Regaring CruiseControl.Net

How can I programmatically build, publish a solution?

What is CruiseControl.Net?
How can it help me.

Any links, programs regarding the CC.net please forward

Thanks in advance.

 
Old August 29th, 2007, 12:12 PM
planoie's Avatar
Friend of Wrox
 
Join Date: Aug 2003
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

Have you read the documentation for CCNET?

Generally, CCNet doesn't really build anything. It controls processes that build things.

The general idea is that you set up CruiseControl to monitor source repositories. When it detects changes to the projects you tell it to monitor, it builds those projects by getting the updates from source control and running the build tasks you specify. This allows you to have constant "integration" (that is, compile checks on all checked in code) on a continuous basis, hence the term "Continuous Integration" (or CI). This is significantly beneficial with teams of developers and/or common projects that are shared across applications. When you make a change to a library that is used in another app, you might not realize that you changed something that will break the build for the other app. CI handles the monitoring and checking for you so you know when you break something that you are not working on directly. It also helps enforce having everything required for a build in source control because source control is its code source.

You can have CCNet "build" anything. It can run a visual studio compile, call NAnt scripts or really any executable. I have a CCNet project that runs a data analysis report on a weekly basis. It's very flexible.

As far as programmatically building and publishing: You can set up visual studio deployment/installation projects to deal with lots of that kind of stuff. You could use CI to compile an installer project or run a deployment project to deploy apps. I haven't done much other either because I have a bunch of custom deployment scripts that I've been using for years.

-Peter
 
Old August 29th, 2007, 01:04 PM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thanks Sir.
Consider an example I have a solution say SampleExample.sln which has many .xml,.xslt,.cs etc files. This project is perfectly fine and runs without any complilation error.
How do I link this project with CC.Net?

If tomorrow there are any changes in any of the files who(what in CC.net) will initiate the build.
I have build a small code that takes the latest of files from VSSource.
How can I link this code with CC.Net?

Any example pls forward.
Thanks
Once the latest is achieved I want the solution to get build. How can I acheive that?
First







 
Old August 29th, 2007, 01:08 PM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thanks Sir.
Consider an example I have a solution say SampleExample.sln which has many .xml,.xslt,.cs etc files. This project is perfectly fine and runs without any complilation error.
How do I link this project with CC.Net?

If tomorrow there are any changes in any of the files who(what in CC.net) will initiate the build.
I have build a small code that takes the latest of files from VSSource.
How can I link this code with CC.Net?

Once the latest is achieved I want the solution to get build/publish. How can I acheive that?

Any example pls forward.
Thanks


 
Old August 31st, 2007, 03:33 PM
planoie's Avatar
Friend of Wrox
 
Join Date: Aug 2003
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

Again, have you looked at the documentation in CCNET? My answers wouldn't be any different than what you'll find in the documentation.

To "link" a project in CCNet you configure a project in it. You configure CCNet to monitor your source control system (as I described already). Source control checkin activity triggers CCNet builds.

You don't need any custom code to get files from source control, CCNet will do this for you.

Please look at the CCNet documentation for explanations on how it works in general. All these general questions will be answered there. When you have looked at that and don't understand something, please come back and ask about it, otherwise, all I'll be doing is regurgitating what I know from the documentation.

-Peter
 
Old September 4th, 2007, 08:08 AM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I think I have done my homework.

Sir the cc.config file of my CruiseControl (C:\ProgramFiles\CruiseControl.NET\server\ccnet.co nfig)
is as follows:




<cruisecontrol>

  <project>
    <name>NewLogin</name>


<!--<webURL>http://localhost/ccnet-dashboard/?_a...r=local&amp;pr

oject=Nant Project</webURL>-->


<webURL>http://localhost/ccnet/default.aspx?...local&amp;proj

ect=NewLogin</webURL>
    <triggers>
      <intervalTrigger seconds="180" buildCondition ="IfModificationExists"/>
    </triggers>

    <modificationDelaySeconds>2</modificationDelaySeconds>
    <sourcecontrol type="vss">
      <executable>C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE</executable>
      <project>$/Working/QAProjects/Research/NewLogin</project>
      <username>spatil</username>
      <password>spatil</password>
      <ssdir>\\dev3\TestDeploy1\srcsafe.ini</ssdir>
      <cleanCopy>true</cleanCopy>
    </sourcecontrol>

    <tasks>
      <nant>
        <baseDirectory>D:\Dhore\NewLogin</baseDirectory>

      </nant>
    </tasks>

    <publishers>
      <xmllogger />
    </publishers>

  </project>
</cruisecontrol>





If this .config file is correct I am getting the following error:


[NewLogin:DEBUG] Starting process [C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE]

in working directory [C:\Program Files\CruiseControl.NET\server\NewLogin\WorkingDir ectory] with

arguments [history $/Working/QAProjects/Research/NewLogin -R -Vd9/4/2007;6:20p~9/4/2007;5:12p

-Yspatil,spatil -I-Y]

[NewLogin:DEBUG] No VSS database (srcsafe.ini) found. Use the SSDIR environment variable or run

netsetup.

[NewLogin:ERROR] Exception: Source control operation failed: No VSS database (srcsafe.ini) found.

Use the SSDIR environment variable or run netsetup.








 
Old September 5th, 2007, 09:42 PM
planoie's Avatar
Friend of Wrox
 
Join Date: Aug 2003
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

It would appear that CCNet can't find your VSS database. Do you have the correct UNC address? One significant problem with VSS is that of permissions. The CCNet service runs under a local machine account. That account may be denied access to the share on the server that has the VSS database. The way I have solved this in the past is to create a new machine account on EACH machine (the VSS database server and the CCNet server). The new account will have the same login name and password. This is a trick for working between windows servers that has always seemed to work. The give the account access to the VSS directory and change the CCNet server to run under that account. Now it should be able to see the VSS files.

-Peter
 
Old September 6th, 2007, 09:23 AM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Sir, the above problem is solved.
When i downloaded the nant-0.85-rc3 from the net and unzipped it and tried to build it it gave certain errors.

We need the nant.exe for this application.
The error is in nant-0.85-rc3\src\NAnt.Console\ConsoleStubs.cs

There are major two errors
1. It is about ConfigurationManager which i have solved
2. It is about AppDomain.CurrentDomain.AppendPrivatePath("lib") at line 321
The second I am not able to solve.

Can you pls help.




 
Old September 6th, 2007, 01:33 PM
planoie's Avatar
Friend of Wrox
 
Join Date: Aug 2003
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

Why not just download the NAnt binaries and use those?

-Peter
 
Old September 11th, 2007, 04:52 AM
Authorized User
 
Join Date: Mar 2007
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I am presently using CC.Net with vss and msbuild (I kept aside Nant)
The following is written in the ccnet.config file:
<cruisecontrol>
    <project>
    <name>NewLogin</name>

      <sourcecontrol type="vss">
       <executable>C:\Program Files\Microsoft Visual Studio\Common\VSS\win32 \SS.EXE</executable>
       <project>$/Working/QAProjects/Research/NewLogin</project>
       <ssdir>\\dev3\TestDeploy1\</ssdir>
       <username>spatil</username>
       <password>spatil</password>
       <workingDirectory>E:\Research\NewLogin</workingDirectory>
       <culture>en-US</culture>
       <cleanCopy>false</cleanCopy>
      </sourcecontrol>
      <tasks>
       <msbuild>
        <executable>C:\WINDOWS\Microsoft.NET\Framework\v2. 0.50727\MSBuild.exe</executable>
        <workingDirectory>E:\Research\NewLogin</workingDirectory>
        <projectFile>NewLogin.sln</projectFile>
        <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
        <targets>Build</targets>
        <logger>C:\Program Files\CruiseControl.NET\server\Rodemeyer[1].MsBuildToCCnet.dll</logger>
       </msbuild>

       <buildpublisher>
        <sourceDir>E:\Research\NewLogin</sourceDir>
        <publishDir>E:\Tools\</publishDir>
        <exclude file ="*.scc"/>
       </buildpublisher>
      </tasks>


    </project>
</cruisecontrol>



When I force build on the webdashboard the sol. gets published in 'E:\Tools\'.
Here it gets published with all the .scc (VSS files)
I want to exclude some file from getting published.
Is it possible to do so. How?
Please help.







Similar Threads
Thread Thread Starter Forum Replies Last Post
Parse XML doc using VB.NET into ASP.NET page kwilliams Classic ASP XML 17 November 11th, 2005 10:42 AM
Database diagram in .net using asp.net,c#.net scotttiger ADO.NET 2 February 16th, 2005 01:35 AM
Questions regaring PHP Coding phpcoder1 PHP How-To 0 November 4th, 2004 05:02 PM
Questions regaring PHP Coding phpcoder1 Beginning PHP 1 September 11th, 2004 08:07 PM
CR.net With ASP.net using C#.net Nilesh Leuva Crystal Reports 1 September 11th, 2003 12:19 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.