ansible-desktop/roles/intellij/tasks/install.yml
2023-06-02 13:51:13 +02:00

57 lines
1.2 KiB
YAML

- name: install jmespath for json_query
become: yes
apt:
update_cache: yes
pkg:
- python3-jmespath
- name: "Get IntelliJ version"
uri:
url: https://data.services.jetbrains.com/products/releases?code=IIU
body_format: json
register: idea_info
- name: Create temp dir
file:
path: "{{ tmp_dir }}"
state: directory
- name: "Download IntelliJ Ultimate"
become: yes
unarchive:
src: "{{ idea_info.json | json_query('IIU[0].downloads.linux.link') }}"
dest: "{{ tmp_dir }}"
remote_src: yes
- name: get folder name
shell: ls "{{ tmp_dir }}"
register: dir_name
- name: Check if old version exists
stat:
path: "{{idea_dir}}"
register: intellij_dir
- name: Move old version if available
become: yes
command: mv {{idea_dir}} {{idea_dir}}-{{local_intellij_version}}
when:
- intellij_dir.stat.exists
- name: Copy to final directory
become: yes
command: "cp -ra {{ tmp_dir }}/{{ dir_name.stdout }} {{ idea_dir }}"
- name: Remove temp directory
become: yes
file:
path: "{{ tmp_dir }}"
state: absent
- name: Create symbolic link
become: yes
file:
src: "/opt/idea/bin/idea.sh"
dest: "/usr/local/bin/idea"
state: link