uridium.sonarqube
Ansible角色:SonarQube
这是一个用于在Debian稳定版上安装和配置SonarQube服务的Ansible角色。 它使用PostgreSQL数据库来存储配置和快照。
要求
- openjdk-11
- unzip
- postgresql服务器
openjdk-11-jre-headless
和unzip
包在tasks/main.yml
中定义。
PostgreSQL服务器需要提前安装,可以使用其他角色。
角色变量
可用的变量列在下面(见defaults/main.yml
):
---
sonarqube_version: '8.4.2.36762'
sonarqube_download_url: 'https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-{{ sonarqube_version }}.zip'
sonarqube_basedir: '/opt'
sonarqube_workdir: '{{ sonarqube_basedir }}/sonarqube'
sonarqube_lsb_script: '{{ sonarqube_workdir }}/bin/linux-x86-64/sonar.sh'
sonarqube_user: 'sonarqube'
sonarqube_group: 'sonarqube'
sonarqube_web_java: '-Xmx2048m -Xms2048m -XX:+HeapDumpOnOutOfMemoryError'
sonarqube_ce_java: '-Xmx2048m -Xms2048m -XX:+HeapDumpOnOutOfMemoryError'
sonarqube_search_java: '-Xmx2048m -Xms2048m -XX:+HeapDumpOnOutOfMemoryError'
sonarqube_vm_max_map_count: '262144'
sonarqube_fs_file_max: '65536'
sonarqube_nofile: '65536'
sonarqube_nproc: '4096'
db_host: YOURdbhost
db_name: YOURdbname
db_user: YOURdbusername
db_pass: YOURdbpassword
如何存储加密密码:
db_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
62383534356266343334383935326331386332356338663837373032643562653537373238373830
6339353037386132663139393661333738303439316339650a393162373132626330633464353234
66616137323661306666376666623330626535303436313931653962386361353537323833343863
3862386566613462390a663362393236313765323036636439653763623933303334333533653234
3033
db_pass: '{{ lookup("pass", "path/to/your/passwordstore/file") }}'
示例剧本
---
- hosts: sonarqube.domain.io
remote_user: boss
become: True
gather_facts: True
roles:
- role: uridium.sonarqube
sonarqube_version: '8.9.8.54436'
sonarqube_basedir: '/data'
db_host: 'sonarqube_db.domain.io'
db_name: 'sonarqube'
db_user: 'sonarqube'
db_pass: '{{ lookup("pass", "domain.io/db/sonarqube") }}'