Expand my Community achievements bar.

SOLVED

Deployment in a production server

Avatar

Level 2

Hello, I've been working for the last months in a project based on CQ5, now I'm facing the deployment to a production environment.

We are working with a project based on CQBluePrints archetype and an integration server managed by Jenkins. We have jobs in Jenkins to manually run deploys against our QA and UAT environments. Now, when it comes to production environment, how should we do the deploy?

Should it be managed by a job manually started from jenkins? should we update the code in the server and then run the maven task to deploy it in CQ? or should we just package the code in AUT and upload it into production server?

I look for the right option to do it, I would really appreciate if you can provide some guidelines about that.

Thanks in advance!

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi Juan,

that depends on a lot of factors. If you are working with a larger IT department which owns and runs the production infrastructure, you should follow their guidelines (which often means: Put all your deployment artifacts to a file share/FTP server and provide a documentation how to deploy).

Besides that, it doesn't really matter how you do the deployment. Take the process which works best for you (in your case probably a dedicated Jenkins job). But please consider:

  • You should have a way to "undo" your deployment. If a major issue is found immediately after PROD deployment, you should have a process to deal with it.
  • Depending on your deployment process your complete PROD environment might be offline. Check first if this is acceptable for the business.

Jörg

View solution in original post

2 Replies

Avatar

Former Community Member

Definitely some great advice from Jörg.
I'd second the recommendation to check with your IT department before deciding on a deployment method. In talking with them, focus on the long-term strategy in addition to the initial deployment, since this may influence your decisions. In particular, check with them on their policies, procedures, and anything else that may relate to (a) the actual deployment, (b) how you will deploy updates/changes to the system in the future, (c) how you will maintain the system (e.g. changing OSGi settings, automated monitoring, escalation procedures for site-down and other problems, how you'll access log files, etc.), and (d) how authors will access the system (if you haven't already sorted this out during UAT).

You may have already covered these things during UAT, but the checklists here are quite helpful in planning for deployment and ongoing maintenance: http://dev.day.com/docs/en/cq/current/deploying/checklists.html
The Security Checklist, most of the Configuration section, and the entire Maintenance section are where you're likely find the most value at this stage.

Avatar

Correct answer by
Employee Advisor

Hi Juan,

that depends on a lot of factors. If you are working with a larger IT department which owns and runs the production infrastructure, you should follow their guidelines (which often means: Put all your deployment artifacts to a file share/FTP server and provide a documentation how to deploy).

Besides that, it doesn't really matter how you do the deployment. Take the process which works best for you (in your case probably a dedicated Jenkins job). But please consider:

  • You should have a way to "undo" your deployment. If a major issue is found immediately after PROD deployment, you should have a process to deal with it.
  • Depending on your deployment process your complete PROD environment might be offline. Check first if this is acceptable for the business.

Jörg