私は現在、この一般的な形式に従い、cron ジョブを介して実行される Ansible プレイを作成しています。
pre_tasks:
-Configuration / package installation
tasks:
-Work with installed packages
post_tasks:
-Cleanup / uninstall packages
上記の問題は、tasks
セクション内のコマンドが失敗することがあり、失敗するとpost_tasks
セクションが実行されず、システムが乱雑な状態になることです。障害や致命的なエラーpost_tasks
が発生した場合でも、コマンドを強制的に実行することはできますか?
私の現在のアプローチは、セクションのignore_errors: yes
下のすべてに適用してから、各タスクに条件を適用して、前のコマンドが成功したかどうかを個別に確認することです。tasks
when:
この解決策はハックのように見えignore_errors: yes
ますが、設定を使用しても、タスクで致命的なエラーが発生した場合、プレイ全体がすぐに失敗するため、さらに悪化します。そのため、手動で確認するために cron 化された bash スクリプトも実行する必要があります。リーチプレイ実行後。
私が望むのは、tasks
失敗してpost_tasks
も実行されるという保証だけです。bash スクリプト ラッパーに頼らずにこれを行う方法があると確信しています。