Page 1 of 1

Deploying DemoSite to Production question

Posted: Fri Jul 11, 2014 7:12 pm
by southofsleep
Hello Broadleafers,

I have a a quick question about steps to take to deploy my DemoSite to a production instance. I have been working with the platform now for a couple weeks and love it. I have DemoSite up and running with TomCat7, JDK 1.6, and MySQL. Also, I have the HTTPS issue solved and Register/Login works good, so the site is nice and fluffy here locally.

Now, i would like to start building a workflow to move my site to production after I build. Although I have some experience in Java, I am new to Maven, and just general best practices in deployment. I was under the assumption that I would do a maven clean install on the "site" part, and then drop the .war in the tomcat container on production and that worked, but of course there are errors (MySQL stuff, can't find broadleaf db, etc.etc...just config stuff)

So, way back when, we used to use RSync to do deployments, but now, what would be the steps to deploy the package to production... what I am really asking is this...

Should I install the DemoSite on production and go through the process of getting it totally up and running, and then see what the delta is between the dev and productions instances in terms of config files, db connect strings, etc. and then what should be created/done? (I am using IntelliJ) Should I make a maven job? (Maybe I should read the maven documentation that might help) ;p

Do people usually do their production deployments from IntelliJ? or a Maven worker inside an IDE? I would like to write some terrifying script that does a really impressive --tail and looks really complicated and matrix like so I get an overinflated sense of accomplishment.

Just some ideas guys of how each of you are setting up different machines, and deploying to them... Next I am going to use VirtualBox and Vagrant and make a whole cluster of boxes to mimic large scale platforms (assets server, reverse proxy, etc.etc)

Re: Deploying DemoSite to Production question

Posted: Thu Jul 17, 2014 11:50 pm
by southofsleep
I actually have found quite a bit of information on the varied ways that deployment happens. The most interesting is how some people are using Maven with Cargo and SCM (github) and CI (Jenkins, Travis CI) to do automated deployment. I think I am going to do more research on the varied ways that Enterprise sets up their platforms for deployment and then make network diagrams of these and possibly replicate these platforms using virtualbox/vagrant.

One interesting service we used to use was the idea of an assets server and using akamai for this. More later. If anyone has links to interesting articles, whitepapers, network diagrams on different ways to deploy please post here.

Re: Deploying DemoSite to Production question

Posted: Tue Jul 29, 2014 2:20 pm
by phillipuniverse
Honestly, deployment varies so much by organization and user; it really just depends on how you want to do it. I will say that something like Vagrant/Docker (or Vagrant with the Docker provider) will help a lot in terms of replicated environments. I would try to make your development environment mirror production as much as possible. Vagrant and Docker can help you a lot with that by virtualizing different instances for load balancing, etc.

Liquibase/Flyway will also help with production CI deployments since you can easily track database changes.