lean_delivery.aem_pipeline
aem-pipeline 角色
用于 Jenkins CI/CD 安装的 AEM 角色
需求
节点:
- Sonarqube
- Jenkins
- Minio
- AEM 作者
- AEM 发布者
- AEM 转发器
Ansible 模块:
角色变量 : 默认
CI/CD 变量:
CI/CD 生成的 Git 用户
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: "测试"
gitRepository: ''
integrationEnv: 'dev'
autoDeployOn:
-
branch: test
environment: dev,qa
用于在构建过程中测试包部署的独立 AEM 作者服务器
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
示例剧本
---
- 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: '测试'
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