脚本设置gradle回家吗?
问题描述:
如何使用可靠脚本设置gradle home。我在RHEL中有一个目录gradle_user_home
。我试图用可靠的脚本将gradle设置回目录。但可靠的脚本说没有这样的文件或目录!以下是我的脚本。脚本设置gradle回家吗?
- name: Set gradle environment variable
command: export GRADLE_USER_HOME={{gradle_home}}
我瓦尔文件:
gradle_home: "/data1/deployment/gradle_user_home"
答
首先,export
不是命令(即不存在/bin/export
可执行文件)。这是一个bash
内置。这就是为什么你得到no such file or directory
。您可以在shell
任务中使用它,但不能在command
任务中使用它。其次,这不是用Ansible设置环境变量的正确方法。
您可以在水平发挥这样的设置环境:
---
- hosts: all
environment:
GRADLE_USER_HOME: "{{gradle_home}}"
,或者在任务级别是这样的:
- name: Execute gradle build
shell: gradle build
environment:
GRADLE_USER_HOME: "{{gradle_home}}"
答
你不能在一个单一的command
任务导出环境变量,因为每个command
任务是在自己的shell中运行。命令完成后,环境变量将丢失。
您必须使用shell
行动
- 设置环境变量和
- 运行命令。
示例:
所有的- name: Run the command
shell: >-
export GRADLE_USER_HOME={{gradle_home}}
my_command_which_requires_gradle_user_home
因为没有命令'export'和Ansible是完全正确的。无论如何,你不能做你认为你应该做的事,因为它没有任何意义。请了解Unix/Linux shell如何处理环境变量。 – techraf