Question

Our team started a solution which consists of 4 projects - a desktop app, 2 web app, a win- and a web-services.

We decided to use TeamCity as a CI server and decided to use it as for building setup packages (nightly builds). Google shows me a lot of articles on how to deploy web application, using .zip packages - but no one upon how to create a msi or setup.

Also no clues on how to do the same for a non-web project - as are desktop apps, web- and win -services.

Have anyone used TeamCity for building and deploying a non-web application?

Was it helpful?

Solution 2

I choose the Dao way - NAnt+TeamCity - NAnt script make the checkout/update from SVN, builds the solutions, prepare setup by compiling setup projects...

and thats all...

OTHER TIPS

Disclaimer: I don't use Teamcity to build Windows non-web application. Mostly Java web or standalone applications and iOS & Android applications

In teamcity, there is a "Visual Studio (sln)" build step type, try to see if you can utilize that.

Or I will investigate if I can build the msi and setup using MSBuild, if it turns out to be possible, I can add a MSBuild type build step in teamcity which creates the msi or setup.

Or I can imagine myself trying to create a cmd or powershell script to build the msi using WiX Toolset, and install WiX on my teamcity build agents.

Then in the Teamcity project setup, add a build step (type Command Line or Powershell) that calls this build script.

I use the Visual Studio (VS 2012) build runner. I have a parameter, system.OutDir, which I specify an output directory.

Then I have a powershell script run which robocopys the contents of system.OutDir to our NAS, and overwrites the web.config from the build output with a different web.config containing the correct connection strings.

Very easy to setup - and you don't have to deal with web.config transformations.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top