parent
63781c69d5
commit
2a2842261b
7 changed files with 108 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
mvn_version: 3.6.3 |
||||||
|
mvn_archive_url: https://miroir.univ-lorraine.fr/apache/maven/maven-3/{{ mvn_version }}/binaries/apache-maven-{{ mvn_version }}-bin.tar.gz |
||||||
|
mvn_archive_sha1: cc836dc7e64b113472df31996caaedf132969009 |
||||||
|
mvn_root_dir: /opt/maven |
@ -0,0 +1,8 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
- name: Remove temp files |
||||||
|
file: path={{ item }} state=absent |
||||||
|
loop: |
||||||
|
- "{{ mvn_root_dir }}/tmp/apache-maven-{{ mvn_version }}-bin.tar.gz" |
||||||
|
- "{{ mvn_root_dir }}/tmp/apache-maven-{{ mvn_version }}" |
||||||
|
tags: mvn |
@ -0,0 +1,12 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
- name: Create needed directories |
||||||
|
file: path={{ item.dir }} state=directory owner={{ item.owner | default(omit) }} group={{ item.group | default(omit) }} mode={{ item.mode | default(omit) }} |
||||||
|
loop: |
||||||
|
- dir: "{{ mvn_root_dir }}" |
||||||
|
- dir: "{{ mvn_root_dir }}/meta" |
||||||
|
mode: 700 |
||||||
|
- dir: "{{ mvn_root_dir }}/tmp" |
||||||
|
mode: 700 |
||||||
|
- dir : "{{ mvn_root_dir }}/apache-maven" |
||||||
|
tags: mvn |
@ -0,0 +1,30 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
- name: Set install mode |
||||||
|
set_fact: mvn_install_mode='none' |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Check if version file exists |
||||||
|
stat: path={{ mvn_root_dir }}/meta/ansible_version |
||||||
|
register: mvn_version_file |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Detect installed version |
||||||
|
block: |
||||||
|
- slurp: src={{ mvn_root_dir }}/meta/ansible_version |
||||||
|
register: mvn_current_version |
||||||
|
- set_fact: mvn_current_version={{ mvn_current_version.content | b64decode | trim }} |
||||||
|
when: mvn_version_file.stat.exists |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Set install mode |
||||||
|
set_fact: mvn_install_mode='install' |
||||||
|
when: not mvn_version_file.stat.exists |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Set upgrade mode |
||||||
|
set_fact: mvn_install_mode='upgrade' |
||||||
|
when: |
||||||
|
- mvn_version_file.stat.exists |
||||||
|
- mvn_current_version != mvn_version |
||||||
|
tags: mvn |
@ -0,0 +1,40 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
- name: Install java |
||||||
|
yum: |
||||||
|
name: |
||||||
|
- java-1.8.0-openjdk |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Install or update maven |
||||||
|
block: |
||||||
|
- name: Download maven |
||||||
|
get_url: |
||||||
|
url: "{{ mvn_archive_url }}" |
||||||
|
dest: "{{ mvn_root_dir }}/tmp/" |
||||||
|
checksum: sha1:{{ mvn_archive_sha1 }} |
||||||
|
|
||||||
|
- name: Extract maven archive |
||||||
|
unarchive: |
||||||
|
src: "{{ mvn_root_dir }}/tmp/apache-maven-{{ mvn_version }}-bin.tar.gz" |
||||||
|
dest: "{{ mvn_root_dir }}/tmp/" |
||||||
|
remote_src: True |
||||||
|
|
||||||
|
- name: Move maven to its final location |
||||||
|
synchronize: |
||||||
|
src: "{{ mvn_root_dir }}/tmp/apache-maven-{{ mvn_version }}/" |
||||||
|
dest: "{{ mvn_root_dir }}/apache-maven/" |
||||||
|
recursive: True |
||||||
|
delete: True |
||||||
|
delegate_to: "{{ inventory_hostname }}" |
||||||
|
|
||||||
|
when: mvn_install_mode != 'none' |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Write installed version |
||||||
|
copy: content={{ mvn_version }} dest={{ mvn_root_dir }}/meta/ansible_version |
||||||
|
tags: mvn |
||||||
|
|
||||||
|
- name: Deploy profile script |
||||||
|
template: src=profile.sh.j2 dest=/etc/profile.d/maven.sh mode=755 |
||||||
|
tags: mvn |
@ -0,0 +1,6 @@ |
|||||||
|
--- |
||||||
|
|
||||||
|
- include: directories.yml |
||||||
|
- include: facts.yml |
||||||
|
- include: install.yml |
||||||
|
- include: cleanup.yml |
@ -0,0 +1,6 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
export JAVA_HOME=/usr/lib/jvm/jre-openjdk |
||||||
|
export M2_HOME={{ mvn_root_dir }}/apache-maven |
||||||
|
export MAVEN_HOME={{ mvn_root_dir }}/apache-maven |
||||||
|
export PATH=${M2_HOME}/bin:${PATH} |
Loading…
Reference in new issue