uridium.sonarqube
Role de Ansible: SonarQube
Un rol de Ansible que instala y configura el servicio SonarQube en Debian estable. Utiliza una base de datos PostgreSQL para almacenar la configuración y las instantáneas.
Requisitos
- openjdk-11
 - unzip
 - servidor de postgresql
 
Los paquetes openjdk-11-jre-headless y unzip están definidos en tasks/main.yml. El servidor PostgreSQL debe instalarse previamente, utilizando otro rol.
Variables del Rol
Las variables disponibles están listadas a continuación (ver 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: TUdbhost
db_name: TUdbname
db_user: TUdbusername
db_pass: TUdbpassword
Cómo almacenar contraseñas encriptadas:
- usando Ansible Vault:
 
db_pass: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      62383534356266343334383935326331386332356338663837373032643562653537373238373830
      6339353037386132663139393661333738303439316339650a393162373132626330633464353234
      66616137323661306666376666623330626535303436313931653962386361353537323833343863
      3862386566613462390a663362393236313765323036636439653763623933303334333533653234
      3033
- usando el plugin passwordstore:
 
db_pass: '{{ lookup("pass", "ruta/a/tu/archivo/passwordstore") }}'
Ejemplo de Playbook
---
- hosts: sonarqube.dominio.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.dominio.io'
      db_name: 'sonarqube'
      db_user: 'sonarqube'
      db_pass: '{{ lookup("pass", "dominio.io/db/sonarqube") }}'
Acerca del proyecto
 Install and configure SonarQube - a service for continuous inspection of code quality and static analysis.
Instalar
 ansible-galaxy install uridium.sonarqubeLicencia
 
            mit
          
Descargas
 
            81
          
Propietario
 