Ansible Shellモジュールで複数行記述

モジュール化されていない場合はCommandかShellモジュールで実行するOSコマンドを記述する。

基本的にはCommandを利用するように推奨されているが、パイプやらリダイレクトやらがある場合はShellモジュールを利用する。

複数行記述するにはどうするか?
下記のように;で区切って並べるとよい。
;を入れないと続きとみなされるので注意。

- name: git clone and rbenv
  shell: >
    git clone https://github.com/sstephenson/rbenv.git ~/.rbenv;
    git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build;
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile;
    echo 'eval "$(rbenv init -)"' >> ~/.bash_profile;
  tags: ruby

複数行実施した場合、どこでこけたかがわかりずらい。
面倒でなければ一つずつタスクを切るのがお勧めである。

カテゴリー: Ansible パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.