63 lines
2 KiB
YAML
63 lines
2 KiB
YAML
---
|
|
# file: roles/sonarqube/tasks/main.yml
|
|
|
|
- name: "check if the folder /opt/sonarqube/stateless exists"
|
|
ansible.builtin.stat:
|
|
path: "/opt/sonarqube/stateless"
|
|
register: folder_sonarqube
|
|
tags: sonarqube
|
|
|
|
- name: "check if sonarqube update is needed"
|
|
block:
|
|
- name: "check version of sonarqube"
|
|
ansible.builtin.slurp:
|
|
src: "/opt/sonarqube/stateless/VERSION"
|
|
register: sonarqube_current
|
|
- name: "set fact current_sonarqube_version"
|
|
ansible.builtin.set_fact:
|
|
current_sonarqube_version: "{{ sonarqube_current['content'] | b64decode | trim }}"
|
|
- name: "check if sonarqube update is needed"
|
|
ansible.builtin.debug:
|
|
msg: "Update needed, from {{ current_sonarqube_version }} to {{ sonarqube_version }} (use: --extra-vars '{ \"sonarqube_update_sonarqube_now\" : true}')"
|
|
when: current_sonarqube_version != sonarqube_version
|
|
when: folder_sonarqube.stat.exists
|
|
tags: sonarqube
|
|
|
|
- name: "stop sonarqube?"
|
|
ansible.builtin.service:
|
|
name: sonarqube
|
|
state: stopped
|
|
when:
|
|
- folder_sonarqube.stat.exists
|
|
- sonarqube_update_sonarqube_now
|
|
- current_sonarqube_version != sonarqube_version
|
|
tags: sonarqube
|
|
|
|
- name: "install or update sonarqube"
|
|
ansible.builtin.import_tasks: install_sonarqube.yml
|
|
when: (not folder_sonarqube.stat.exists) or (folder_sonarqube.stat.exists and sonarqube_update_sonarqube_now and current_sonarqube_version != sonarqube_version)
|
|
tags: sonarqube
|
|
|
|
- name: "configure"
|
|
ansible.builtin.import_tasks: configure.yml
|
|
tags: sonarqube
|
|
|
|
- name: "install or update sonarqube plugins"
|
|
ansible.builtin.import_tasks: install_plugins.yml
|
|
tags: sonarqube
|
|
|
|
- name: "/etc/systemd/system/sonarqube.service"
|
|
ansible.builtin.template:
|
|
src: "sonarqube.service.j2"
|
|
dest: "/etc/systemd/system/sonarqube.service"
|
|
notify:
|
|
- systemctl daemon_reload
|
|
- restart sonarqube
|
|
tags: sonarqube
|
|
|
|
- name: "systemd enabled and started"
|
|
ansible.builtin.systemd:
|
|
name: sonarqube.service
|
|
state: started
|
|
enabled: true
|
|
tags: sonarqube
|