How to automate Umbraco deployment using Courier 2
Asked Answered
B

0

8

Our team use Umbraco 7 as our CMS. We have a simple MVC web site and two main environments; TEST and PROD. Each environment has it's own Umbraco installation and database.

I've been tasked with setting up an automated deployment process, which simply involves taking all content, media and settings from our TEST Umbraco and installing it on our production environment. This process is to be triggered by the click of a button from Octopos deploy (which in turn would call a c# program which would handle the actual deployment by calling the necessary Umbraco APIs and plugins).

As my deployment tool, I've decided to use Courier 2. I'm using the trial edition to sync between two sites I've set up locally (UmbracoA.local and UmbracoB.local). I've managed to, using the Courier 2 interface in Backoffice, create a revision on UmbracoA, transfer it to UmbracoB and install it there manually.

Now I must figure out a way to call the Courier 2 API and trigger these steps automatically. (No user should at any point have to use Backoffice to finalize any process of the deployment).

Steps to be automated are:

  • The creation of a revision including all content on Umbraco site A
  • Transfer of said revision to Umbraco site B
  • Install of said revision on Umbraco site B

From what I understand, Courier 2 has a event model to which I can hook my own steps, but I'm simply interested in triggering Courier 2's native events of creating a revision and pushing & installing it on the second site. Surely, this must be a rather simple call to their API?

As you can imagine, I'm fairly new to both Umbraco and Courier 2, but essentially what I'm looking for is just a code example of how I might call the events to trigger this process.

Thanks in advance and let me know if I can supply any more info about my scenario that might help you answer my question!!

Extra info: - Umbraco version 7.5.4 - Courier version 2.52.15

Brazzaville answered 5/12, 2016 at 13:59 Comment(4)
Is Umbraco Cloud an option? It does this for you automatically.Elyseelysee
It is not. We need an on-prem solution.Brazzaville
One of the documents I read mentioned that Courier could somehow be used from a command line to avoid web request timeouts, but the documentation is very poor. I can't even get some of the basic configurations to work, trying to set up Courier 3.1.1 using documentation made for 2.5. It runs locally, but now I'm trying to restrict what is allowed to be moved.Countervail
Have a look at Chauffeur - skrift.io/articles/archive/automating-your-umbraco-deploymentsGilcrest

© 2022 - 2024 — McMap. All rights reserved.