/aem-opencloud-manager

A set of Jenkins pipelines for provisioning and managing AEM OpenCloud environments

Primary LanguageJinjaApache License 2.0Apache-2.0

Build Status

AEM OpenCloud Manager

AEM OpenCloud Manager is a set of Jenkins pipelines for provisioning and managing AEM OpenCloud environments.

These pipelines can be provisioned to a CI/CD system (currently only supports Jenkins) and serves as

Learn more about AEM OpenCloud Manager:

AEM OpenCloud Manager is part of AEM OpenCloud platform.

Installation

  • Either clone AEM OpenCloud Manager git clone https://github.com/shinesolutions/aem-opencloud-manager.git or download one of the released versions

  • Install the following required tools:

    Alternatively, you can use AEM Platform BuildEnv Docker container to run AEM OpenCloud Manager build targets.

  • Resolve the Python packages dependencies by running make deps

  • Provision required plugins onto Jenkins instance: make jenkins-init config_path=<path/to/config/dir>, which installs the following plugins:

  • Approve the following script signatures, unfortunately you currently have to approve these methods manually one by one via prompts on Jenkins log output.

    • method java.net.URI getHost
    • method java.net.URI getPath
    • method java.net.URI getScheme
    • new java.net.URI java.lang.String
    • staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods drop java.lang.Object[] int
    • staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods init java.lang.Object[]

Usage

  • Set up the required AWS Permissions
  • Create configuration file
  • Generate and provision the pipelines onto a Jenkins instance: make jenkins-aws config_path=<path/to/config/dir>
  • Visit your Jenkins instance and you should find a new folder named aem-opencloud-<version>

Build categories

Category Description
installation Install AEM OpenCloud libraries (Packer AEM, AEM AWS Stack Builder, AEM Stack Manager Messenger, AEM Test Suite) followed by the AEM AWS Stack Builder dependency libraries.
machine-images Create machine images containing AEM installations and utilities.
manage-environments Create and delete AEM Stack Manager, AEM Consolidated, and AEM Full-Set environments.
operational-tasks Run AEM operational tasks such as deploying AEM packages, taking backups, flushing cache, promoting AEM Author Standby to become Primary, and many others.
testing Run various tests against AEM environments.

Testing

Testing with remote dependencies

You can run integration test for generating and provisioning Jenkins pipelines using the command make test-integration cicd_type=jenkins platform_type=aws, which downloads the dependencies from the Internet.

Testing with local dependencies

If you're working on the dependencies of AEM OpenCloud Manager and would like to test them as part of pipelines generation and provisioning, you need to:

  • Clone the dependency repos AEM Hello World Config at the same directory level as AEM OpenCloud Manager
  • Make your code changes against those dependency repos
  • Run make test-integration-local cicd_type=jenkins platform_type=aws for integration testing using local dependencies, which copies those local dependency repos to AEM OpenCloud Manager and use them as part of the test