2017-04-07 9 views
0

私はウェブサイトでtomcatをインストールするjarファイルを持っています。だから私は次のタスクを持っているdownload jar fileinstall jarファイルとdelete jar file。しかし、私はダウンロードして再インストールするのではなく、すでにインストールされていることを伝えたいと思っています。どのように私はそのような達成することができます特定のファイルがまだ存在していない時にJavaプログラムのみが実行されるようにするには、少なくとも、インストール作業にcreates引数を使用することができます既にインストールされている場合、可能なjarチェック

- name: Downloading installer 
    get_url: 
    url: http://[URl]/installfile.jar 
    dest: "/opt" 

- name: Installing jar file 
    shell: java -jar "/opt/installfile.jar" 

- name: Removing installer 
    file: 
    state: absent 
    path: "/opt/installfile.jar" 
+0

あなたがインストールされているパッケージをチェックする方法を決定する必要があります。

- name: Check to see if Tomcat is installed shell: "command --that --checks" # Just an example, obviously register: tomcat_is_installed 

あなたはそれがインストールされていないだけで、Tomcatの脚本を含めることができます。ファイルの存在を確認するか、実行可能ファイルを実行して出力を確認するか、ターゲットサーバー上のファイルにフラグを手動で設定するかどうか。私は誰もあなたがそれをすることができるとは確信していません。あなたが何をしたいのかを決めるときに、特定の問題を抱えたら、SOの助けを求めてください。 – techraf

答えて

0

。 Anabilitiesは、タスクが最初に実行されるときにそのようなファイルを作成します。

ような何か:

- name: Installing jar file 
    shell: java -jar "/opt/installfile.jar" 
    args: 
    creates: /opt/installfile-check 

それとも、Tomcatのがインストールされていない場合にのみ、実行するために3つのタスクを調整したい場合は、あなたが最初にそれがインストールされているかどうかをチェックするプログラムを実行し、その結果を登録する必要がありますにwhenを使用して実行する必要があるかどうかを他のタスクが判断できる変数です。

- name: This playbook will only be included when Tomcat is not installed 
    include: tomcat-playbook.yml 
    when: tomcat_is_installed.rc != 0 
関連する問題