views:

101

answers:

1

Hi Guys,

Im pretty new to CI so bear with me here. I have just setup an instance of Team City in on a local machine, and I can clearly see the benefits.

The one thing we do want understand is how we can managed the deployment aspect of CI. What we really want to achieve are two builds:

1) We check in to our source repository and the CI server notices the change and compiles the code, tests etc.

2) We manually trigger a build that compiles the code, copies the code to a remote server and update its IIS mappings.

Now the first build is pretty much wrapped up with TeamCity. But I assume that the deployment aspect of this is going to involve some scripting (Nant, MsBuild, Rake etc) is this correct?

If this is the case, I can see that transferring files from the build machine to a remote server will be ok, but will we be able to update IIS mappings without being on the same network? For that matter where is THE correct place to deploy a CI server, should is live on the same network as the apps we deploy?

Finally, we have been (rather unorthadoxily) using IronRuby to run rake scripts as our build runner. This is simply because we like Rake, but if we were to look at Nant/Msbuild do they have any baked in tasks that would simplify what we are trying to achieve?

Cheers, Chris.

+1  A: 

We use MSBuild exclusively, just a choice. I am sure Nant and the others do things just as well. We only publish to a dev environment (for dev testing) and a stage environment (Where QA actually tests). I would not suggest that you put the production system push on this as the temptation to force builds might be too great for some people.

We use some of the MSBuild Community Tasks

Alex
Hi Alex, thanks for the response, but its not really answering my questions. Is your CI server on the same network as your stage/UAT boxes? Is this where a CI server should live? If not how do you handle IIS repointing (if at all). Cheers, Chris.
Owen
Ours is on the same network, and the community tasks I linked to had IIS remapping task in it, but we do not use remapping currently.
Alex
I am not sure there is a right answer for if a CI box should be on the same network. I think there are a lot of factors that play into this.
Alex
Thanks, thats cleared things up a little more.
Owen