#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 . См. раздел Приоритет переменной: куда я должен поместить переменную?