私のansibleプレイブックにある繰り返しのテーマsudo: yes
は、特定のユーザーに対して実行したいので、sudo特権()でコマンドを実行する必要があることが多いということです。理想的には、sudoを使用してそのユーザーに切り替え、コマンドを通常どおりに実行したいのです。そうすれば、ディレクトリの変更など、いつものpostコマンドでクリーンアップを行う必要がなくなります。これが私のプレイブックのスニペットです。
- name: checkout repo
git: repo=https://github.com/some/repo.git version=master dest={{ dst }}
sudo: yes
- name: change perms
file: dest={{ dst }} state=directory mode=0755 owner=some_user
sudo: yes
理想的には、sudoでそのユーザーにsuする必要がある場合でも、コマンドまたはコマンドセットを別のユーザーとして実行できます。
sudo_user: "{{ ansible_ssh_user }}"
囲みます。そうしないと、yaml構文エラーが発生します。