0

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?

DreadAngel
  • 772
  • 11
  • 30

3 Answers3

1

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.

Jifeng Zhang
  • 5,037
  • 4
  • 30
  • 43
  • 1
    According to Teamcity's [Supported Platforms and Environments] (http://confluence.jetbrains.com/display/TCD7/Supported+Platforms+and+Environments#SupportedPlatformsandEnvironments-BuildRunners), `Visual Studio (sln)` build step requires VS.NET installed on build server. But `MSBuild` build type requires only `.Net Framework` installed. Can you use the `MSBuild` build type if for some reason you can not install VS.NET on the build server? – Jifeng Zhang Apr 18 '13 at 08:49
0

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...

DreadAngel
  • 772
  • 11
  • 30
0

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.

Jordan
  • 1
  • 1
  • 1