Ansible: 前のジョブの状態を返す

Ansible: 前のジョブの状態を返す

私はansibleの操作から戻るためにこのコマンドを使用しています。

成功していることを確認してください。

以下はPlaybookのコードの例です。

- name: Install JDK8
  shell: cd /tmp/install/ && tar -zxvf jdk-8u51-linux-x64.tar.gz

- name: Echo Install JDK8
  shell: echo $?

端末でプレイブックを実行すると、戻り値は得られません。

echoコマンドを使用して戻り値を取得できますか?

ベストアンサー1

$を取得しようとしますか?示されたAnsibleコンテキストでは、Ansibleがリモートで実行した最後のコマンドを正常な状態にすることは機能しません。

ドル?現在のシェルで実行された最後のコマンドの状態を返すために使用される変数。

私たちに示した設定では、最後のコマンドの実行がAnsibleに示されているコマンドであるか、同じシェルであるかを保証することはできず、SSHクライアント構成によっては同じSSHセッションではない可能性があります。

Ansible公式ガイドの例によれば、最後に実行されたタスク/コマンドが成功したかどうかに応じて他のタスクを実行するには、次のようにします。

tasks:
  - command: /bin/false
    register: result
    ignore_errors: True

  - command: /bin/something
    when: result is failed

  - command: /bin/something_else
   when: result is succeeded

詳細については、次を参照してください。ドキュメント->Ansible->条件

おすすめ記事