author- contains AEM Author
publish- contains AEM Publish
dispatcher- contains AEM Dispatcher
java- contains Oracle JDK, to be used for running AEM Orchestrator and Chaos Monkey
author-publish-dispatcher- contains AEM Author, AEM Publish, and AEM Dispatcher
Learn more about Packer AEM:
- AWS Resources
- AWS System Tags
- Customisation Points
- Frequently Asked Questions
- Upgrade Guide
Packer AEM is part of AEM OpenCloud platform.
Either clone Packer AEM
git clone https://github.com/shinesolutions/packer-aem.gitor download one of the released versions
Install the following required tools:
Alternatively, you can use AEM Platform BuildEnv Docker container to run Packer AEM build targets.
- Set up the required AWS resources
- Create configuration file
- Create the AMIs by running
make <platform>-<component> version=<version> config_path=<path/to/config/dir>, for example:
make aws-author version=1.2.3 config_path=stage/user-config/aws-rhel7-aem64/
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-configs/<aem_profile>-<os_type>-stack-builder-ami-ids.yaml file(s). These files can then be dropped in to AEM AWS Stack Builder configuration path.
Testing with remote dependencies
You can run integration test for creating the AMIs for all components using the command
make test-integration test_id=<sometestid>, which downloads the dependencies from the Internet.
Testing with local dependencies
If you're working on the dependencies of Packer AEM and would like to test them as part of machine images creation before pushing the changes upstream, you need to:
- Clone the dependency repos Puppet AEM Resources, Puppet AEM Curator, Puppet Amazon SSM Agent, AEM Hello World Custom Image Provisioner, AEM Hello World Config at the same directory level as Packer AEM
- Make your code changes against those dependency repos
make test-integration-local test_id=<sometestid>for integration testing using local dependencies, which copies those local dependency repos to Packer AEM and uses them as part of the test
If you want to jump on the environment that Packer launched and you want to debug/troubleshoot it, you can modify the
Makefile and set Packer to build in debug mode by replacing
packer build command with
packer build -debug, and then run the image creation again. With debug enabled, Packer will prompt you before terminating the EC2 instance / Docker container, giving you the chance to check it.
When running in debug mode, Packer will make the private key available on the repo directory for you to use, e.g.
ssh -i ec2.pem ec2-user@<ip-address>
Please read Packer Debugging for further information.