You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

If you have opted for a custom cloud bundle variant, your site is hosted in Magnolia Cloud and you or your partner manages the creation of custom Java modules and the creation and deployment of the custom bundle.  ++++light dev can be done in parallel with java/light dev in custom bundles since the light dev is stored in git and can easily be reinstalled.

Continuous delivery is a way to ensure that new configuration, templates and code can be rapidly and safely deployed to production. You deliver every change first to a UAT environment and verify that business applications and services function as expected through testing. Since every change is delivered to the UAT environment using automation in the Magnolia Cloud Cockpit, you have confidence that the application can be deployed to the Live environment exactly the same way, with a push of a button when the business is ready. In the UAT environment, business users can validate your changes with real content cloned from the Live environment. – Adapted from Caum, Carl: Continuous Delivery Vs. Continuous Deployment: What's the Diff?


  • You or your cloud partner set up the maven project reactor following the readme instructions
  • You deploy the custom bundle to Magnolia CLoud. 
  • First upgrade from standard bundle to a custom bundle is effort intensive on mgnl side due to dependency/compatibility issues. Only if data must be kept. Simpler alternative is to remove and replce when data doesn't need to be kept.
  • Change in bundle name triggers same effort. +++Warning to not change name unless absolutely necessary.
  • Partner bundle upgrade to newer partner bundle is fine.
  • Mention: light dev can be done in parallel with java/light dev in custom bundles since the light dev is stored in git and can easily be reinstalled

To successfully deploy custom bundles to Magnolia Cloud certain criteria and best practices must be adopted.

Project setup and best practices

To bootstrap a new project Magnolia provides the Magnolia Cloud maven archetype.

Until version 1.3 has been released please use the snapshot catalog: -DarchetypeCatalog=https://nexus.magnolia-cms.com/content/repositories/magnolia.public.snapshot


You will need to finish Magnolia Cloud onboarding to retrieve your subscription-code and access keys.

Usage

mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeCatalog=https://nexus.magnolia-cms.com/content/groups/public/ 

...
6: https://nexus.magnolia-cms.com/content/repositories/magnolia.public.snapshots -> info.magnolia.maven.archetypes:magnolia-cloud-project-archetype (Automates the creation of a Magnolia Cloud project: parent pom and webapp)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 6

Define value for property 'groupId': : com.mycompany.project
Define value for property 'artifactId': : web-project-xyz
Define value for property 'version':  1.0-SNAPSHOT: :
Define value for property 'package':  com.mycompany.project: :
Define value for property 'cloud-subscription-code': : mycompany-project
Define value for property 'magnolia-bundle-version': : 6.2
Define value for property 'project-name':  web-project-xyz: :
Confirm properties configuration:
groupId: com.mycompany.project
artifactId: web-project-xyz
version: 1.0-SNAPSHOT
package: com.mycompany.project
cloud-subscription-code: mycompany-project
magnolia-bundle-version: 6.2
project-name: web-project-xyz
 Y: : Y

...

[INFO] project created from Archetype in dir: /Users/user/dev/web-project-xyz
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:18 min
[INFO] Finished at: 2020-04-23T13:12:46+02:00
[INFO] ------------------------------------------------------------------------


Further instructions and documentation related to best practices will be provided in your project's README.md.

CI/CD for Custom Bundles

For Continuous Integration and Deployment of custom bundles to Magnolia Cloud, the usage of Magnolia Cloud Maven Plugin is mandated.

Magnolia Cloud Maven Plugin

Validation of the custom bundle

Performs validation checks against the built artefact (webapp) to ensure compatibility with Magnolia Cloud infrastructure:

  • Basic checks for required configuration in web.xml and magnolia.properties
  • Inspection of required and blacklisted modules/jars

For customers and partners that deploy custom bundles to Magnolia Cloud,  to be used. It will validate the created artifact

Deployment of the war file

Uploads the built artifact to S3 bucket that serves as the entry point to Magnolia Cloud's deployment pipelines. Collects meta-information about the artifact for debugging purposes.

Magnolia Cloud Simulator

For testing the bundle in a simulated cloud environment, we offer a docker-compose based setup: Magnolia Cloud Simulator

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels