deployment best practices

Topics: Installing Orchard
Sep 29, 2012 at 5:00 PM

Hi. We are deploying our first orchard based site :-) My deployment process is based on this "how to" article

http://docs.orchardproject.net/Documentation/Building-and-deploying-Orchard-from-a-source-code-drop

Is this the way to go for customized code too (a few custom modules, theme) ? Or am i missing something?

1. run build "compile;package" on my development machine
2. deploy everything from build\Stage dir?
3. deploy database, media and settings.txt.

Thank you

Sep 29, 2012 at 9:47 PM

the process i described does not work. lots of files missing (module.txt from some modules for example).

Coordinator
Sep 30, 2012 at 5:25 AM

Check that the files in question are correctly included by the csproj.

Oct 5, 2012 at 4:56 AM

Bertrand,

Are you suggesting that the information you provided at the link referenced actually works?

(http://docs.orchardproject.net/Documentation/Building-and-deploying-Orchard-from-a-source-code-drop)

And that all we have to do is evaluate what is the complete list of all the 'files in question' and whether they are included in the 'some' .csproj?

I know that I have spent a significant amount of time this past couple of years trying to absorb your design.

And that kind of investment has me expecting that I am working with a framework that runs end-to-end and enables me to meet my client's expectations.

(not to imply that I have spent more time than you)

But are you really suggesting that we have to 'guess' how to deploy this solution?

Can you or someone on your team not explain in rigorous detail how how to deploy this framework?

Perhaps a step-by-step rendition of how you personally do it?

Or is this a framework dedicated to the elite who simply 'get it' by absorption?

I presumed (I thought I read in the docs) that all you had to do was point an IIS site at the orchard.web.

But I'm not getting anywhere with that.

So what is the precise and complete answer that will work for everyone, guaranteed?

Thanks,

Kimball Johnson

 

Oct 6, 2012 at 5:09 AM

So you're saying that when you point an IIS site to the Orchard.Web directory, it doesn't work? Are you seeing any errors?

Oct 9, 2012 at 4:11 PM

i deployed the solution using Visual studio's publish functionality. but that doesn't work with "Release" for some reason after i moved to VS 2012 and updated to the newest orchard sources.

@fmskywalker - is that best deployment practice? just take the orchard.web dir and copy it to production? i would presonally prefer some "less dirty" solution. just like with the build.cmd (if it has worked :-( )

@bertrand - i have no idea why module.txt is not there, it is included in csproj as content. even your vandelay.industries module is missing this file after build "compile;package"

Coordinator
Oct 9, 2012 at 6:09 PM
Edited Oct 9, 2012 at 6:09 PM

I'm sorry you're frustrated. Please note that I could take offense at some of what you wrote above, especially as this is open source but I'll just take a deep breath and try to get you unstuck instead. You'll have to work with us however. The steps that you outlined above are the exact steps I'm following when deploying a site.

The build batch runs msbuild on orchard.proj. Orchard.proj in turn builds src/Orchard.sln. First thing to verify is that all the projects are correctly referenced in that solution file. Maybe you've been using a custom solution file. In that case I would recommend also making your own build batch and proj file that use this solution. Otherwise you'll have to modify Orchard.sln itself and deal with merges as necessary. Once you've dealt with the solution and made sure all modules are included, for each file still missing, locate the correct csproj for the module and check that the file is correctly being included. Also check in its properties page (or directly on the xml in the project file) that it's configured to be deployed, and not left behind. A typical mistake would be a None build action. If you compare with files that do get included, you should have this sorted out in no time.

I hope this helps.

Oct 9, 2012 at 11:42 PM

You are correct, Bertrand: I should not have spoken as I did.

And I am frustrated.

I have spent a great deal of free time trying to get a developer's understanding of this platform.

It offers me the promise of being able to add functionality to serve my needs and those of clients and markets, and maintain a core CMS capability to enable quick turn-around on content changes.

But it really has been hard to get a good grasp of everything that's involved to manage sites and develop functionality.

I've read the one book, watched the Pluralsight video's, read all the documentation, and read the discussion forums in historical order.

really only the forums address the issues that are important to me.

But the answers you and your team provides are so brief, and only address the 'very next possible step', that most of the time they just provide a new concept to be researched.

So I've had to find time to disect the platform the same way I would a big chunk of legacy code: first having to deduce everything it does before I can start to deduce how to work with it.

And one thing that is extremely hard is the very arbitrary use of nomenclature like 'shape', 'part', 'content', 'driver' etc.

They really do not operate or produce code or data elements that act like or are used like their names.

This platform deserves a book that explains the platform components and how they interact.

But still, thanks for providing it. 

Coordinator
Oct 9, 2012 at 11:52 PM

Providing brief answers is the only way I can answer hundreds of posts a week and still have a profitable business... We also try to teach people how to fish rather than feed them.

About nomenclature, it's always arbitrary, especially for very generic concepts such as those. I would love to see a book, but these things take way too much time to write, and the return on investment is, believe me, ridiculous.

Oct 10, 2012 at 12:02 AM
I'm sorry to rub a sore spot.
And I guessed all those things might be true.
But I'm serious about using what you built and I appreciate your effort and your burden.
So I'll try to be kinder.
Take care and thanks again,
Kimball
Coordinator
Oct 10, 2012 at 12:03 AM

That's good feedback, don't worry about it.

Oct 10, 2012 at 9:43 AM

hi bertrand! i wasn't frustrated or offensive at all, perhaps kimballjohnson was a bit ;) I indeed had an custom sln file and that was the cause in my case. Now it works as it should. I just merged the two solution files into orchard.sln. Thank you very much for explaining how the build  works .   I have just one more question (the same again :)

1. is this the best practice for manual deployment? I have no problem with this approach, just want be sure:

   a. run build "compile;package" on development machine
   b. deploy everything from build\Stage dir? 
   c. deploy database, media and settings.txt (app_data)

 

Coordinator
Oct 10, 2012 at 3:57 PM
Edited Oct 10, 2012 at 3:58 PM

Yes. That's what I do myself, except that step b I actually do with WebDeploy but that's almost an implementation detail.

Oh, and I'd add a couple of backup steps in that workflow too ;)

Apr 2, 2013 at 2:27 PM
Hi There

Sorry to jump in on this conversation but looks like the right place to do it.
I have been using this method for deployment.

a. run build "compile;package" on development machine
b. deploy everything from build\Stage dir?
c. deploy database, media and settings.txt (app_data)

But I would like to start doing continuous integration from our repo using bamboo.

Is there a way to automate this proccess using bamboo and has anybody had any experience with this.

Thanks

Stanton