lean_delivery.aem_pipeline
aem-pipeline Role
This role sets up an AEM (Adobe Experience Manager) pipeline for CI/CD (Continuous Integration/Continuous Deployment) using Jenkins.
Requirements
Nodes Needed:
- SonarQube
- Jenkins
- Minio
- AEM Author
- AEM Publisher
- AEM Dispatcher
Ansible Modules:
- LDI AEM modules: GitHub Link
Role Variables: Default
CI/CD Variables:
Git user configuration for creating CI/CD:
git_username
: "User_name"git_email
: "git@email.com"
AEM Maven Archetype:
archetypeGitRepository
: 'git@git.epam.com:epm-aem/maven-archetype-2.git'archetypeGitBranch
: master
Dispatcher Archetype Template Configuration:
dispatcher_root
: /opt/aemDispatcherCachedistr_storage
: /tmpapache_dir
: /etc/httpd
Environments for CI/CD Generation:
env_types_list:
- dev
- test
- uat
- prod
CI/CD Projects List:
gitRepository
: Empty repository to create a project with sample data and CI/CD.autoDeployOn
: Configure environments and branches for auto-deploy.
build_flows:
- project_name: "test"
gitRepository: ''
integrationEnv: 'dev'
autoDeployOn:
- branch: test
environment: dev,qa
Standalone AEM Author Server for Testing Package Deployments:
ci_aem_author
: "localhost"aem_instance_port
: 4502
Ansible AWX/Tower Server Address:
tower_server_url
: https://aem-tower.ldi.projects.com
Sonar Server Configuration:
sonar_server_address
: "localhost"sonarPort
: 9000sonar_admin_login
: adminsonar_admin_password
: admin
Maven Options:
maven_major_version
: 3maven_minor_version
: 6.0maven_home
: /opt/mavenmaven_link
: "http://ftp.byfly.by/pub/apache.org/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz"maven_package_name
: apache-maven-3.6.0-bin.tar.gz
Jenkins Configuration:
jenkins_plugin_list:
- ansible
jenkins_file
: /opt/jenkins.done
jenkins_package_list:
- zip
jenkins_pip_modules
: ansiblejenkins_home
: /var/lib/jenkinsjenkins_port
: 8080jenkins_base_link
: 'http://localhost:{{ jenkins_port }}'
Jenkins File Owner User:
jenkins_user
: jenkins
jenkinsAdmin:
name: jenkins_admin
password: jenkins_admin
jenkins_admin_token
: ""jenkins_admin_login
: '{{ jenkinsAdmin.name }}'
myJenkinsAttributes:
url: '{{ jenkins_base_link }}'
url_username: '{{ jenkinsAdmin.name }}'
url_password: '{{ jenkinsAdmin.password }}'
Dependencies
- Minimal Ansible Version Required: 2.7
- lean_delivery.sonarqube
- lean_delivery.jenkins
- lean_delivery.aem-node
- lean_delivery.aem-dispatcher
- lean_delivery.minio
- Ansible modules for AEM
Example Playbook
---
- name: "Jenkins CI/CD"
hosts: jenkins
roles:
- role: ansible-role-aem-pipeline
jenkins_base_link: 'http://{{ inventory_hostname }}:{{ jenkins_port }}'
aem_version: '6.4'
aem_instance_port: 4502
sonar_server_address: "{{ groups['sonar_servers'][0] }}"
sonarPort: 80
git_username: "VPupkin"
git_email: "[email protected]"
tower_server_url: https://aem-tower.ldi.projects.com
archetypeGitRepository: '[email protected]:VPupkin/maven-archetype-2.git'
minio_server_address: http://{{ groups['artifact_storage'][0] }}
minio_port: 9000
env_types_list:
- dev
- test
- uat
- prod
ci_aem_author: "{{ groups['aem_authors'][0] }}"
sonarJenkinsUser:
id: 'test_user'
name: 'Test'
build_flows:
- project_name: "petproj1"
gitRepository: '[email protected]:VPupkin/aem-cicd-test-fin2.git'
integrationEnv: 'dev'
autoDeployOn:
- branch: develop
environment: dev
License
Apache
Author Information
Authors:
- Lean Delivery Team team@lean-delivery.com
Informazioni sul progetto
Playbook for Jenkins CI/CD Adobe AEM pipeline installation
Installa
ansible-galaxy install lean_delivery.aem_pipeline
Licenza
apache-2.0
Download
235
Proprietario
Simplify by using!