質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

2回答

11277閲覧

ansibleでのPATH追加方法

ricy

総合スコア48

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2016/01/01 12:50

###前提・実現したいこと
ansibleでcentos65環境を構築しているのですが、
bash_profileを自動でPATH追加をして更新したいのですが、うまく動きません。
具体的にはrbenvのパス追加です。

###ソースコード(main.xml)

--- - hosts: XXXXXX remote_user: XXXXXX sudo: yes vars: - ruby_version: 2.2.2 tasks: - name: update bash_profile1 shell: echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile - name: update bash_profile2 shell: echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

エラーはでないのですが、bash_profileが更新されません。
補足として冪等性を保つように設計をしたいです。

ansible,PATH追加等で検索したものをヒントに色々と試したのですが
うまくいきませんでしたので、アドバイスいただければ助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

冪等性を保ってファイルに指定内容の行を追加するのであれば、lineinfileモジュールが適切かと思われます。

lineinfile - Ensure a particular line is in a file, or replace an existing line using a back-referenced regular expression. — Ansible Documentation

ファイルが更新されないのはホームディレクトリがうまく取れていないのかもしれません。こちらのページの方法でホームディレクトリを取得して、その情報を使用してlineinfileモジュールで設定してみてはいかがでしょうか。

Ansible メモ - シェル環境変数の参照 - weblog of key_amb

投稿2016/05/26 17:12

tnanba

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ricy

2016/05/28 02:03

ありがとうございます。lineinfileで冪等性が担保されていることが確認できました。
guest

0

copyかtemplateモジュールを使用して.bash_proifile自体を設置してしまえばいいのではないでしょうか。

投稿2016/02/16 09:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ricy

2016/05/28 02:02

ありがとうございます。時間空きましたが、lineinfileでいくことにしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問