我想使用一个在银河系中发现的角色:robertdebock.java
我想使用此角色以版本作为参数来安装Java。我已经在我的role / java / tasks / main.yml文件中尝试过此操作:
- name: Install Java
include_role:
name: robertdebock.java
vars:
java_version: 10
不幸的是,无论我为java_version
提供什么参数,都仅安装了版本11。
如何通过我自己的参数使用现有的Galaxy角色?
答案 0 :(得分:1)
是的,可以将现有的Galaxy角色与您自己的参数一起使用。
但是对于您而言,请阅读VALID-COMBINATIONS.md文档。
您可能会获得操作系统的默认版本:
https://github.com/robertdebock/ansible-role-java/blob/master/vars/main.yml#L73
java_openjdk_package: "{{ _java_openjdk_package[java_type][java_version][ansible_distribution] | default(_java_openjdk_package[java_type][java_version]['default'] | default([])) }}"
答案 1 :(得分:0)
在剧本中使用角色时,可以将变量传递给角色:
- name: Install Java
roles:
- { role: robertdebock.java, java_version: 10 }
只要变量使用相同的名称,它们就会作为角色变量进入the proper scope