aem_pipeline

aem-pipeline role

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

AEM role for Jenkins ci-cd installation

Requirements

Nodes:

  • Sonarqube
  • Jenkins
  • Minio
  • AEM author
  • AEM publisher
  • AEM dispatcher

Ansible Modules:

Role Variables : default

Ci/cd variables:

Git user for ci/cd generation

AEM maven archetype:

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

for dispatcher archetype template configuration

  • dispatcher_root: /opt/aemDispatcherCache
  • distr_storage: /tmp
  • apache_dir: /etc/httpd

envirenment list for ci/cd generation:

env_types_list:
  - dev
  - test
  - uat
  - prod

List of CI/CD projects , names options to create during pipelines geeration.

  • gitRepository - empty repository to create project with sample data and ci/cd.
  • autoDeployOn - list of environments and branches for autodeploy configuration
build_flows:
 -
   project_name: "test"
   gitRepository: ''
   integrationEnv: 'dev'
   autoDeployOn:
    -
      branch: test
      environment: dev,qa

Standalone aem author server for test package deployment during build process

  • 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: 9000
  • sonar_admin_login: admin
  • sonar_admin_password: admin

Maven options:

Jenkins configuratin:

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 files 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

Example Playbook

---
- name: "jenkinf 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:

About

Playbook for Jenkins CI/CD Adobe AEM pipeline installation

Install
ansible-galaxy install lean-delivery/ansible-role-aem-pipeline
GitHub repository
License
apache-2.0
Downloads
224
Owner
Simplify by using!