{"id":20509136,"url":"https://github.com/shinesolutions/aem-opencloud-manager","last_synced_at":"2025-04-13T22:22:21.297Z","repository":{"id":37340310,"uuid":"162505431","full_name":"shinesolutions/aem-opencloud-manager","owner":"shinesolutions","description":"A set of Jenkins pipelines for provisioning and managing AEM OpenCloud environments","archived":false,"fork":false,"pushed_at":"2024-08-21T05:03:12.000Z","size":1078,"stargazers_count":6,"open_issues_count":19,"forks_count":6,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-27T12:46:22.438Z","etag":null,"topics":["aem","aem-opencloud","ci-cd","environment-manager","jenkins","pipeline"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shinesolutions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-20T00:25:21.000Z","updated_at":"2024-05-07T06:22:36.000Z","dependencies_parsed_at":"2023-02-14T02:46:21.986Z","dependency_job_id":"a920f36e-d893-462f-aa62-669c786ac74d","html_url":"https://github.com/shinesolutions/aem-opencloud-manager","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinesolutions%2Faem-opencloud-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinesolutions%2Faem-opencloud-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinesolutions%2Faem-opencloud-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinesolutions%2Faem-opencloud-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shinesolutions","download_url":"https://codeload.github.com/shinesolutions/aem-opencloud-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248789772,"owners_count":21161891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aem","aem-opencloud","ci-cd","environment-manager","jenkins","pipeline"],"created_at":"2024-11-15T20:22:44.679Z","updated_at":"2025-04-13T22:22:21.256Z","avatar_url":"https://github.com/shinesolutions.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/shinesolutions/aem-opencloud-manager/workflows/CI/badge.svg)](https://github.com/shinesolutions/aem-opencloud-manager/actions?query=workflow%3ACI)\n\nAEM OpenCloud Manager\n---------------------\n\nAEM OpenCloud Manager is a set of [Jenkins](https://jenkins.io/) pipelines for provisioning and managing AEM OpenCloud environments.\n\nThese pipelines can be provisioned to a CI/CD system (currently only supports Jenkins) and serves as\n\nLearn more about AEM OpenCloud Manager:\n\n* [Installation](https://github.com/shinesolutions/aem-opencloud-manager#installation)\n* [Configuration](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/docs/configuration.md)\n* [Usage](https://github.com/shinesolutions/aem-opencloud-manager#usage)\n* [Testing](https://github.com/shinesolutions/aem-opencloud-manager#testing)\n* [AWS Permissions](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/docs/aws-permissions.md)\n* [Customisation Points](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/docs/customisation-points.md)\n\nAEM OpenCloud Manager is part of [AEM OpenCloud](https://aemopencloud.io) platform.\n\nInstallation\n------------\n\n- Either clone AEM OpenCloud Manager `git clone https://github.com/shinesolutions/aem-opencloud-manager.git` or download one of the [released versions](https://github.com/shinesolutions/aem-opencloud-manager/releases)\n- Install the following required tools:\n  * [Python](https://www.python.org/downloads/) version 2.7.x\n  * [GNU Make](https://www.gnu.org/software/make/)\u003cbr/\u003e\n\n  Alternatively, you can use [AEM Platform BuildEnv](https://github.com/shinesolutions/aem-platform-buildenv) Docker container to run AEM OpenCloud Manager build targets.\n- Resolve the [Python packages](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/requirements.txt) dependencies by running `make deps`\n- Provision required plugins onto Jenkins instance: `make jenkins-init config_path=\u003cpath/to/config/dir\u003e`, which installs the following plugins:\n  * [Pipeline Utility Steps plugin](https://plugins.jenkins.io/pipeline-utility-steps)\n- Approve the following script signatures, unfortunately you currently have to approve these methods manually one by one via prompts on Jenkins log output.\n  * `method java.net.URI getHost`\n  * `method java.net.URI getPath`\n  * `method java.net.URI getScheme`\n  * `new java.net.URI java.lang.String`\n  * `staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods drop java.lang.Object[] int`\n  * `staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods init java.lang.Object[]`\n\nUsage\n-----\n\n- Set up the required [AWS Permissions](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/docs/aws-permissions.md)\n- Create [configuration file](https://github.com/shinesolutions/aem-opencloud-manager/blob/main/docs/configuration.md)\n- Generate and provision the pipelines onto a Jenkins instance: `make jenkins-aws config_path=\u003cpath/to/config/dir\u003e`\n- Visit your Jenkins instance and you should find a new folder named `aem-opencloud-\u003cversion\u003e`\n\nBuild categories\n----------------\n\n| Category | Description |\n|----------|-------------|\n| installation | Install AEM OpenCloud libraries ([Packer AEM](https://github.com/shinesolutions/packer-aem), [AEM AWS Stack Builder](https://github.com/shinesolutions/aem-aws-stack-builder), [AEM Stack Manager Messenger](https://github.com/shinesolutions/aem-stack-manager-messenger), [AEM Test Suite](https://github.com/shinesolutions/aem-test-suite)) followed by the AEM AWS Stack Builder dependency libraries. |\n| machine-images | Create machine images containing AEM installations and utilities. |\n| manage-environments | Create and delete AEM Stack Manager, AEM Consolidated, and AEM Full-Set environments. |\n| 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. |\n| testing | Run various tests against AEM environments. |\n\nTesting\n-------\n\n### Testing with remote dependencies\n\nYou 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.\n\n### Testing with local dependencies\n\nIf 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:\n\n- Clone the dependency repos [AEM Hello World Config](https://github.com/shinesolutions/aem-helloworld-config) at the same directory level as AEM OpenCloud Manager\n- Make your code changes against those dependency repos\n- 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\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinesolutions%2Faem-opencloud-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshinesolutions%2Faem-opencloud-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinesolutions%2Faem-opencloud-manager/lists"}