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