2017-09-18 3 views
-1

可能なスクリプトを使用してgradle homeを設定する方法。私はRHELにディレクトリgradle_user_homeを持っています。私はこのディレクトリにgradle homeを設定するつもりです。しかし、そのようなファイルやディレクトリはありません!以下は私のスクリプトです。gradle homeを設定するためのスクリプト?

- name: Set gradle environment variable 
    command: export GRADLE_USER_HOME={{gradle_home}} 

マイVARSファイル:

gradle_home: "/data1/deployment/gradle_user_home" 
+0

--- - hosts: all environment: GRADLE_USER_HOME: "{{gradle_home}}" 

またはこのようなタスクレベルで。それにかかわらず、それは意味をなさないので、あなたがするべきことをすることができなくなります。 Unix/Linuxシェルが環境変数に関してどのように機能するかを学んでください。 – techraf

答えて

1

まず、exportがコマンドではない(すなわち、いかなる/bin/export実行可能ファイルが存在しません)。それはbashビルトインです。だからこそあなたはno such file or directoryを手に入れます。 commandタスクではなく、shellタスクで使用できます。

第2に、これはAnsibleで環境変数を設定する適切な方法ではありません。

次のような遊びのレベルで環境を設定することができます。そこには、コマンド `export`がなく、Ansibleは完全に右であるので

- name: Execute gradle build 
    shell: gradle build 
    environment: 
    GRADLE_USER_HOME: "{{gradle_home}}" 
2

を各commandタスクは独自のシェルで実行されているため、あなたは、単一commandタスクで環境変数をエクスポートすることはできません。コマンドが終了すると、環境変数は失われます。あなたは

  1. shellアクションを使用する必要が

    は、環境変数を設定し、

  2. は、コマンドを実行します。

例:全ての

- name: Run the command 
    shell: >- 
    export GRADLE_USER_HOME={{gradle_home}} 
    my_command_which_requires_gradle_user_home 
関連する問題