Packer AEM is a set of Packer templates for creating Adobe Experience Manager (AEM) machine and container images, which include the following components:
author
- contains AEM Authorpublish
- contains AEM Publishdispatcher
- contains AEM Dispatcherjava
- contains Oracle JDK, to be used for running AEM Orchestrator and Chaos Monkeyauthor-publish-dispatcher
- contains AEM Author, AEM Publish, and AEM Dispatcher
The AMIs produced by Packer AEM will then be used by AEM AWS Stack Builder to create an AEM environment on AWS.
Please note that even though Packer AEM currently produces AWS AMIs, we would like to support other image types as well and contributions are welcome. If you have a need to run AEM on other technology stacks, please start a discussion by creating a GitHub issue or email us at opensource@shinesolutions.com.
-
Either clone Packer AEM
git clone https://github.com/shinesolutions/packer-aem.git
or download one of the released versions -
Install the following required tools:
- Packer version 1.0.0 or later
- Packer Post-Processor JSON Updater version 1.2 or later
- Ruby version 2.1.0 or later
- Python version 2.7.x
- GNU Make
Alternatively, you can use AEM Platform BuildEnv Docker container to run Packer AEM build targets.
-
Resolve the Puppet modules, Ruby gems, and Python packages dependencies by running
make deps
- Set up the required AWS resources
- Create configuration file
- Apply the configuration files by running
make config config_path=<path/to/config/dir>
- Create the AMIs by running
make <platform>-<component> version=<version>
, for example:make aws-author version=1.2.3
To retrieve the latest AMI IDs for all AEM AWS Stack Builder components, run the command make ami-ids config_path=<path/to/config/dir>
, and the AMI IDs will be written into stage/*-stack-builder-ami-ids.yaml
file(s). These files can then be dropped in to AEM AWS Stack Builder configuration path.
There are a number of example configuration files, you can use those examples as baseline configuration when creating your own machine images:
- Modify sandpit.yaml with the details of your own environment
- Run one of the convenient
make config-examples-<platform_type>-<os_type>-<aem_version>
build targets to prepare the configuration, for example, if you want to configure AEM 6.3 build on AWS running RHEL7, runmake config-examples-aws-rhel7-aem63
- Finally, create the machine images using the command
make <platform_type>-<component> version=<version>
Further information about Packer AEM: