Skip to content
This repository has been archived by the owner on Jan 13, 2019. It is now read-only.
/ iis-ci Public archive

IIS Continuous Integration from Source Control TFS and Git

License

Notifications You must be signed in to change notification settings

neurospeech/iis-ci

Repository files navigation

IIS-CI

IIS Continuous Integration/Deployment from Git, TFS & Visual Studio Online Source Control.

Features

  1. TFS/Git Integration (without TFS/Git installation on server, You still need to purchase TFS CAL from Microsoft)
  2. Downloads only modified source
  3. XDT Support for web.config at root folder
  4. Web Hook to automatically fetch-build-deploy
  5. Email notification after fetch-build-deploy (smtp delivery should be configured in web.config)

Current Status

Ready to use as basic deployment controller.

Why not use Kudu?

  1. Project Kudu has dependency on Git and Node, both are typically not part of .NET development workflow.
  2. Besides Kudu creates kudu services website for each hosted website, IIS with 100s of sites are difficult to recreate and redeploy using kudu.
  3. Kudu does not work with TFS.
  4. IIS-CI needs to be installed only once per server, and config file can manage access rights.

Building

You can use Visual Studio 2012/2013/2015 to build from source code and deploy generated files in IIS.

Installation

  1. Create a website in IIS, make sure Windows Authentication is enabled with NTLM being first provider.
  2. Enable Anonymous Authentication for Triggers to work.
  3. Set LocalSystem as Application Pool Identity.
  4. Download and Install MSBuild 2015
  5. Open the website, you will see list of IIS sites with config and build options.
  6. You can configure the source type as Git or TFS, Git should use https transport only.
  7. Enter username/passwords for remote Git or TFS
  8. Specify Solution Path as relative path of .sln file within the source code without front slash.
  9. Specify Web Project Path as relative path of .sln file within the source code without front slash.
  10. Add AppSettings you would want to overwrite after deployment.
  11. Add ConnectionStrings you would want to overwrite after deployment.
  12. Add custom XDT to transform Web.config before deploy
  13. After config is saved correctly, click on Build link.