71 lines
3.6 KiB
YAML
71 lines
3.6 KiB
YAML
---
|
|
# file: roles/sonarqube/tasks/install_sonarqube.yml
|
|
- name: "add sonarqube_talas_community_branch_plugin to sonarqube_internal_plugins_url"
|
|
ansible.builtin.set_fact:
|
|
sonarqube_internal_plugins_url: "{{ sonarqube_internal_plugins_url | default([]) + ['https://nexus.talas.dev/repository/github.com/talas/sonarqube-community-branch-plugin/releases/download/{{ sonarqube_talas_community_branch_plugin_version }}.talas/sonarqube-community-branch-plugin-{{ sonarqube_talas_community_branch_plugin_version }}.talas.jar'] }}"
|
|
when: sonarqube_talas_community_branch_plugin_version is defined
|
|
|
|
- name: "add sonarqube_talas_sonar_plugin to sonarqube_internal_plugins_url"
|
|
ansible.builtin.set_fact:
|
|
sonarqube_internal_plugins_url: "{{ sonarqube_internal_plugins_url | default([]) + ['https://nexus.talas.dev/repository/maven-releases/com/cos/sonar_plugin/talas-sonar-plugin/{{ sonarqube_talas_sonar_plugin_version }}/talas-sonar-plugin-{{ sonarqube_talas_sonar_plugin_version }}.jar'] }}"
|
|
when: sonarqube_talas_sonar_plugin_version is defined
|
|
|
|
- name: "add sonarqube_community_branch_plugin to sonarqube_external_plugins_url"
|
|
ansible.builtin.set_fact:
|
|
sonarqube_external_plugins_url: "{{ sonarqube_external_plugins_url | default([]) + ['https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/{{ sonarqube_community_branch_plugin_version }}/sonarqube-community-branch-plugin-{{ sonarqube_community_branch_plugin_version }}.jar'] }}"
|
|
when: sonarqube_community_branch_plugin_version is defined
|
|
|
|
- name: "add sonarqube_redaalaoui_sonar_java_no_var_plugin to sonarqube_external_plugins_url"
|
|
ansible.builtin.set_fact:
|
|
sonarqube_external_plugins_url: "{{ sonarqube_external_plugins_url | default([]) + ['https://repo1.maven.org/maven2/me/redaalaoui/sonar/sonar-java-no-var-plugin/{{ sonarqube_redaalaoui_sonar_java_no_var_plugin_version }}/sonar-java-no-var-plugin-{{ sonarqube_redaalaoui_sonar_java_no_var_plugin_version }}.jar'] }}"
|
|
when: sonarqube_redaalaoui_sonar_java_no_var_plugin_version is defined
|
|
|
|
- name: "/opt/sonarqube/stateless/extensions/plugins"
|
|
ansible.builtin.file:
|
|
path: "/opt/sonarqube/stateless/extensions/plugins"
|
|
state: directory
|
|
owner: sonarqube
|
|
group: sonarqube
|
|
tags: sonarqube
|
|
|
|
- name: "install additional internal plugins"
|
|
ansible.builtin.get_url:
|
|
url: "{{ item }}"
|
|
dest: "/opt/sonarqube/stateful/extensions/plugins"
|
|
owner: sonarqube
|
|
group: sonarqube
|
|
url_username: "{{ repo_talas_com_user }}"
|
|
url_password: "{{ repo_talas_com_pass }}"
|
|
loop: "{{ sonarqube_internal_plugins_url }}"
|
|
when: sonarqube_internal_plugins_url is defined
|
|
tags: sonarqube
|
|
|
|
- name: "install additional external plugins"
|
|
ansible.builtin.get_url:
|
|
url: "{{ item }}"
|
|
dest: "/opt/sonarqube/stateful/extensions/plugins"
|
|
owner: sonarqube
|
|
group: sonarqube
|
|
loop: "{{ sonarqube_external_plugins_url }}"
|
|
when: sonarqube_external_plugins_url is defined
|
|
tags: sonarqube
|
|
|
|
- name: "search old plugins"
|
|
ansible.builtin.set_fact:
|
|
sonarqube_plugins_name: "{{ (sonarqube_internal_plugins_url | default([]) |map('split','/')|map('last')|list()) + (sonarqube_external_plugins_url | default([]) | map('split','/') | map('last') | list()) }}"
|
|
tags: sonarqube
|
|
|
|
- name: "find old plugins"
|
|
ansible.builtin.find:
|
|
paths: "/opt/sonarqube/stateful/extensions/plugins"
|
|
patterns: "*.jar"
|
|
excludes: "{{ sonarqube_plugins_name | default([]) }}"
|
|
register: sonarqube_old_plugins
|
|
tags: sonarqube
|
|
|
|
- name: "delete old plugins"
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}"
|
|
state: absent
|
|
loop: "{{ sonarqube_old_plugins.files }}"
|
|
tags: sonarqube
|