lean_delivery.aem_pipeline

aem-pipeline Role

========= License Build Status Build Status Galaxy Ansible Ansible

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:

Role Variables: Default

CI/CD Variables:

Git user configuration for creating CI/CD:

AEM Maven Archetype:

  • archetypeGitRepository: 'git@git.epam.com:epm-aem/maven-archetype-2.git'
  • archetypeGitBranch: master

Dispatcher Archetype Template Configuration:

  • dispatcher_root: /opt/aemDispatcherCache
  • distr_storage: /tmp
  • apache_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:

Sonar Server Configuration:

  • sonar_server_address: "localhost"
  • sonarPort: 9000
  • sonar_admin_login: admin
  • sonar_admin_password: admin

Maven Options:

Jenkins Configuration:

jenkins_plugin_list:
  - ansible
  • jenkins_file: /opt/jenkins.done
jenkins_package_list:
  - zip
  • jenkins_pip_modules: ansible
  • jenkins_home: /var/lib/jenkins
  • jenkins_port: 8080
  • jenkins_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:

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!