Moving from Courier to Deploy

    As of Umbraco 7.6, sites running on Umbraco Cloud will need to be running Umbraco Deploy, and not Umbraco Courier. Courier has been replaced by Deploy, and Deploy is highly specialized to be working on Umbraco Cloud.

    In normal circumstances, the move from Courier to Deploy will happen automatically when you click the button in the portal for upgrading to Umbraco 7.6. If for some reason your Umbraco project was upgraded, but not switched to Deploy. i.e. if you did the upgrade manually.

    This is a guide for moving from Courier to Deploy. The first step is to acquire the latest Umbraco Deploy package from http://nightly.umbraco.org/?container=umbraco-deploy-release

    For a version 7.x website, choose the latest "UmbracoDeploy.v2.x.x.zip" file.

    Next, request a valid Deploy Key from Umbraco Support. This can be done through the in-app chat in the Umbraco Cloud Portal or by reaching out to contact@umbraco.com.

    Prerequisites for using the guide is that you have a running site, that contains all metadata, like document types, data types and templates.

    1 Removing Umbraco Courier

    First you need to remove all Courier related files and folders.

    • /App_Plugins/Deploy
    • /bin/Archetype.Courier.dll
    • /bin/Concorde.CacheHandler.dll
    • /bin/Concorde.CacheHandler.LiveEdit.dll
    • /bin/Concorde.CacheHandler.UI.dll
    • /bin/Our.Umbraco.Courier.DataResolvers.dll
    • /bin/Umbraco.Courier.Contrib.Resolvers.dll
    • /bin/Umbraco.Courier.Core.dll
    • /bin/Umbraco.Courier.DataResolvers.dll
    • /bin/Umbraco.Courier.EventHandlers.V7.dll
    • /bin/Umbraco.Courier.FormsProvider.dll
    • /bin/Umbraco.Courier.Persistence.dll
    • /bin/Umbraco.Courier.Persistence.V7.NHibernate.dll
    • /bin/Umbraco.Courier.Providers.dll
    • /bin/Umbraco.Courier.RepositoryProviders.dll
    • /config/courier.config
    • /config/splashes/noNodes.aspx
    • /umbraco/Plugins/Courier/Webservices/Repository.asmx

    Also, these 3rd party dlls have been part of Courier. If you are not using them in your custom code, you should ensure that they get deleted as well.

    • /bin/Antlr3.Runtime.dll
    • /bin/Castle.Core.dll
    • /bin/FluentNHibernate.dll
    • /bin/lesi.Collections.dll
    • /bin/NHibernate.dll

    If you have a NuGet reference to "Umbraco.Courier.Contrib", you should uninstall that and delete the related .dll from bin as well.

    Finally all .courier files found in /data/Revision needs to be deleted as well, as they will no longer be used.

    Do not remove the /data/Revision folder itself, only the folders inside the /data/Revision folder - you will need this folder for Deploy as well.

    2 Adding Umbraco Deploy

    To add Umbraco Deploy copy all content from the ZIP received (except /config/UmbracoDeploy.config) into the webroot of the local project files.

    Do not overwrite the existing /config/UmbracoDeploy.config file with the empty one from the ZIP. It already has the correct settings for your site.

    Next you need to update the web.config to letting it know about Umbraco Deploy.

    First add the following section to the configuration/configSections part

    <sectionGroup name="umbraco.deploy">
    <section name="environments" type="Umbraco.Deploy.Configuration.DeployEnvironmentsSection, Umbraco.Deploy" requirePermission="false"/>
    <section name="settings" type="Umbraco.Deploy.Configuration.DeploySettingsSection, Umbraco.Deploy" requirePermission="false"/>
    </sectionGroup>
    

    Secondly add the umbraco.deploy element to the web.config in configuration

    <umbraco.deploy>
        <environments configSource="config\UmbracoDeploy.config"/>
        <settings configSource="config\UmbracoDeploy.Settings.config"/>
    </umbraco.deploy>
    

    By now Umbraco Deploy has been setup for the site, and what is still needed is to generate new metadata files. These are files called .courier previously, and in deploy they are named .uda files.

    To generate the files, start the site in IIS, and open a command prompt in the /data folder, here you need to create a marker file called deploy-export. The file is generated by typing echo > deploy-export. If you watch the folder, the file will change into a deploy-process and finally a deploy-complete. You should notice that the /data/Revision folder will be filled with .uda files.

    Modify Workspace Dashboard

    When using Umbraco Courier the entry in the /Config/Dashboard.config should contain the following:

    <section alias="UmbracoDeploy">
    <areas>
        <area>content</area>
    </areas>
    <tab caption="Your workspace">
        <control>/app_plugins/deploy/views/deploy.html</control>
    </tab>
    </section>
    

    When switching to Umbraco Deploy this needs to be modified as the location to the deploy dashboard has changed. Make sure the entry looks like this:

    <section alias="Deploy">
        <areas>
        <area>content</area>
        </areas>
        <tab caption="Your workspace">
        <control>/App_Plugins/Deploy/views/dashboards/dashboard.html</control>
        </tab>
    </section>
    

    Setup Deploy Api Key

    Final step is to setup a valid deploy key. This is what you obtained from Cloud Support. Once you have it, add it as an appsetting in the web.config file.

        <add key="Umbraco.Deploy.ApiKey" value="[UniqueKey]" />
    

    Everything is now ready to be committed to the site, and pushed.