Как получить папку назначения при установке с помощью apt-модуля Ansible?

#ansible

#ansible

Вопрос:

В моем сборнике игр ansible я установил openjdk с :

 ---
# tasks file related to java
- name: Install last version openjdk 8 jre
  apt:
    name: openjdk-8-jre
    state: latest
  

и я хотел бы установить переменную JAVA_HOME env.

Есть ли способ заставить папку java установить мой JAVA_HOME var?

Спасибо вам! 🙂

Ответ №1:

Одним из вариантов было бы использовать lineinfile и действовать в соответствии с тем, как установить JAVA_HOME для Java?

 vars:
  my_users:
    - user1
    - user2
    - userN
  my_java_path: /usr/lib/jvm/open-jdk
tasks:
  - lineinfile:
      path: /etc/environment
      regexp: "^\s*JAVA_HOME"
      line: "JAVA_HOME="{{ my_java_path }}""
  - lineinfile:
      path: "/home/{{ item }}/.bashrc"
      line: "source /etc/environment"
    loop: "{{ my_users }}"
  

(не тестировалось)

Комментарии:

1. Как вы можете установить программно? Я имею в виду, что ваша строка /usr/lib/jvm/... жестко запрограммирована, поэтому, если мой путь для java отличается.

2. Я обновил ответ с помощью переменной my_java_path . См. раздел Приоритет переменной: куда я должен поместить переменную?