GithubHelp home page GithubHelp logo

shinesolutions / aem-opencloud-manager Goto Github PK

View Code? Open in Web Editor NEW
6.0 9.0 6.0 1.05 MB

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

License: Apache License 2.0

Dockerfile 0.56% Makefile 2.06% Groovy 5.70% Shell 0.63% Python 0.43% Jinja 90.63%
aem aem-opencloud jenkins ci-cd pipeline environment-manager

aem-opencloud-manager's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.