2017-09-18 50 views
-1

如何使用可靠腳本設置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" 
+0

因爲沒有命令'export'和Ansible是完全正確的。無論如何,你不能做你認爲你應該做的事,因爲它沒有任何意義。請了解Unix/Linux shell如何處理環境變量。 – techraf

回答

1

首先,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}}" 
2

你不能在一個單一的command任務導出環境變量,因爲每個command任務是在自己的shell中運行。命令完成後,環境變量將丟失。

您必須使用shell行動

  1. 設置環境變量和
  2. 運行命令。

示例:

所有的
- name: Run the command 
    shell: >- 
    export GRADLE_USER_HOME={{gradle_home}} 
    my_command_which_requires_gradle_user_home