lean_delivery.aem_pipeline
Rôle aem-pipeline
Rôle AEM pour l'installation CI/CD de Jenkins.
Exigences
Nœuds :
- Sonarqube
- Jenkins
- Minio
- AEM author
- AEM publisher
- AEM dispatcher
Modules Ansible :
- Modules AEM LDI https://github.com/lean-delivery/ansible-modules-aem
Variables du rôle : par défaut
Variables CI/CD :
Utilisateur Git pour la génération CI/CD :
git_username
: "Nom_utilisateur"git_email
: "email@exemple.com"
Archétype Maven AEM :
archetypeGitRepository
: 'git@git.epam.com:epm-aem/maven-archetype-2.git'archetypeGitBranch
: master
Pour la configuration du modèle d'archétype de dispatcher :
dispatcher_root
: /opt/aemDispatcherCachedistr_storage
: /tmpapache_dir
: /etc/httpd
Liste des environnements pour la génération CI/CD :
env_types_list:
- dev
- test
- uat
- prod
Liste des projets CI/CD, options de noms à créer lors de la génération des pipelines.
- gitRepository - dépôt vide pour créer un projet avec des données d'exemple et CI/CD.
- autoDeployOn - liste des environnements et des branches pour la configuration d'auto-déploiement.
build_flows:
-
project_name: "test"
gitRepository: ''
integrationEnv: 'dev'
autoDeployOn:
-
branch: test
environment: dev,qa
Serveur AEM author autonome pour le déploiement de paquets pendant le processus de construction :
ci_aem_author
: "localhost"aem_instance_port
: 4502
Adresse du serveur Ansible AWX/Tower :
-tower_server_url
: https://aem-tower.ldi.projects.com
Configuration du serveur Sonar :
sonar_server_address
: "localhost"sonarPort
: 9000sonar_admin_login
: adminsonar_admin_password
: admin
Options 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
Configuration de 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 }}'
Utilisateurs propriétaires des fichiers 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 }}'
Dépendances
- Version minimale d'Ansible pour installation : 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
Exemple de 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
Licence
Apache
Informations sur l'auteur
auteurs :
- Équipe Lean Delivery team@lean-delivery.com
À propos du projet
Playbook for Jenkins CI/CD Adobe AEM pipeline installation
Installer
ansible-galaxy install lean_delivery.aem_pipeline
Licence
apache-2.0
Téléchargements
235
Propriétaire
Simplify by using!