My TFS CICD setup for Sitefinity Project – Part 1

Important notes

  • Only include files and deploy to solution
  • Project should be using nuget feed
  • Project should have have Debug and Release mode

Project Structure

/<root>
/Nuget.config
/DemoServer
/DataConfig.config
/Sitefinity.lic
/packages
/<nuget packages>
/SitefinityWebApp
/<sitefinity related files>
/bin
/Properties/PublishProfiles/PublishProfile.pubxml
/SitefinityWebApp.csproj

Setting

DemoServer Folder
  • DataConfig.config – include ConnectionString of database server
  • Sitefinity.lic
SitefinityWebApp Release mode setting
  • DebugType: None
  • Optimize: True
  • AllowedReferenceRelatedFileExtensions: –
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <AllowedReferenceRelatedFileExtensions>-</AllowedReferenceRelatedFileExtensions>
  </PropertyGroup>
SitefinityWebApp Publish Profile
  • Web Publish Method: FileSystem
  • Target Location: ../publish
  • Delete Existing File: True
  • Configuration: Release
  • Exclude App Data: false
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>../publish</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
  </PropertyGroup>
Nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget_org" value="https://api.nuget.org/v3/index.json" />
    <add key="Sf_Nuget" value="http://nuget.sitefinity.com/nuget" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

What to expect on the local /publish folder?

It is building project with Publish mode

With the published files, we can always try to host on local IIS to make sure everything is fine before configure the CICD pipeline.

And yes, basically what we see on local /publish folder will be expected to deploy to destination server with CICD pipeline.

Part 2 will discuss further the CICD pipeline configuration

Link to Part 2

One thought on “My TFS CICD setup for Sitefinity Project – Part 1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s