Ansible で PATH を追加する系の処理は、なんとかならないものか?だった話

open source configuration management utility という分野で Chef, Puppet もあるが Ansible しかわからないので、このタイトル。

インストール手順に PATH を通すために .bashrc に記載が必要という処理は、わりとよくある。

例えば nodebrew だと以下の様な PATH の設定を .bashrc に記載するのが手順。

export PATH=$HOME/.nodebrew/current/bin:$PATH

これを正直に task に落とすと、こんな感じになる。

shell: echo export PATH=/home/{{ user }}/.nodebrew/current/bin:$PATH >> /home/{{ user }}/.bashrc

この書き方だと複数回プロビジョニングをした時に、

export PATH=/home/{{ user }}/.nodebrew/current/bin:$PATH

がプロビジョニングした回数だけ .bashrc に記載されてしまう。

なにかよい方法はないかな?

      • -

などと、書いていたら 普通にファイルの存在確認して、ファイルがなければ追加でいいのではないか?と思うようになった。