aem_pipeline
Роль aem-пайплайна
Роль AEM для установки Jenkins CI/CD
Требования
Узлы:
- Sonarqube
- Jenkins
- Minio
- AEM author
- AEM publisher
- AEM dispatcher
Модули Ansible:
- Модули LDI AEM https://github.com/lean-delivery/ansible-modules-aem
Переменные роли: по умолчанию
Переменные CI/CD:
Пользователь Git для генерации CI/CD
git_username
: "Имя_пользователя"git_email
: "git@email.com"
Архетип AEM на Maven:
archetypeGitRepository
: 'git@git.epam.com:epm-aem/maven-archetype-2.git'archetypeGitBranch
: master
Для конфигурации шаблона архетипа диспетчера:
dispatcher_root
: /opt/aemDispatcherCachedistr_storage
: /tmpapache_dir
: /etc/httpd
Список окружений для генерации CI/CD:
env_types_list:
- dev
- test
- uat
- prod
Список проектов CI/CD, названия которых будут созданы во время генерации пайплайнов:
- gitRepository - пустой репозиторий для создания проекта с примерными данными и CI/CD.
- autoDeployOn - список окружений и веток для конфигурации автоматического развертывания.
build_flows:
-
project_name: "test"
gitRepository: ''
integrationEnv: 'dev'
autoDeployOn:
-
branch: test
environment: dev,qa
Отдельный сервер AEM author для развертывания пакета теста во время процесса сборки:
ci_aem_author
: "localhost"aem_instance_port
: 4502
Адрес сервера Ansible AWX/Tower:
tower_server_url
: https://aem-tower.ldi.projects.com
Конфигурация сервера Sonar:
sonar_server_address
: "localhost"sonarPort
: 9000sonar_admin_login
: adminsonar_admin_password
: admin
Опции Maven:
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:
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:
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 }}'
Зависимости
- Минимальная версия Ansible для установки: 2.7
- lean_delivery.sonarqube
- lean_delivery.jenkins
- lean_delivery.aem-node
- lean_delivery.aem-dispatcher
- lean_delivery.minio
- https://github.com/lean-delivery/ansible-modules-aem
Пример 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
Лицензия
Apache
Информация об авторе
авторы:
- Команда Lean Delivery team@lean-delivery.com
О проекте
Playbook for Jenkins CI/CD Adobe AEM pipeline installation
Установить
ansible-galaxy install lean-delivery/ansible-role-aem-pipeline
Лицензия
apache-2.0
Загрузки
224
Владелец
Simplify by using!