Continuous Integration w/AEM & setting up tests | Community
Skip to main content
Tyler_Maynard
New Participant
October 16, 2015
Solved

Continuous Integration w/AEM & setting up tests

  • October 16, 2015
  • 1 reply
  • 1336 views

Hello AEM world.

We are developing our software release cycle with AEM. We are looking at the best practice for releasing packages and running tests. 

The scenario:

We will be leveraging AEM not only for multiple web sites but as a platform for custom logic that other systems within the organization will rely on.

We use the Maven AEM archytype for project initiation. Store that in source control. Run builds through Jenkins. Store artifacts into a local nexus.

The problem:

For ongoing development we are wanting to run tests before we promote a package from TEST->STAGE->PROD. The problem is that the tests live and run during the Maven build. The problem is more apparent when creating a development instance of AEM. How do I get ALL of the different Maven projects deployed to the server, and then the integration tests to run. Maven only runs tests during the Integration Test phase of the Maven lifecycle, but I want the tests coupled to the project...

Ideally I want a process like this:

  • Spin up a new AEM instance for development
  • Load all projects (AEM-Packages) onto the new AEM instance
  • Run integration tests for ALL projects

With everything in the Nexus, there are no real tests associated with the AEM package, as these are only run during build. Would this require a seperate project of say, Selenium Tests, that is maintained seperatly from the AEM project itself?

With the Maven approach it requires me to do yet another build to run my tests, then the order that the build happens and the order that packages are put into AEM isn't truly testing what the production system may be like. I need the tests to run AFTER every AEM package has been deployed to the AEM instance.

Is there any good guides or information on setting up AEM with Continious Deployment, Integration, Delivery?

We just need to make sure one module isn't breaking anything anywhere else. 

Any ideas/thoughts are greatly appreciated. Thanks.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.