私はAnsibleでプレイブックタスクを作成しました。Linux側でプレイブックを実行できます。
- name: Set paths for go
blockinfile:
path: $HOME/.profile
backup: yes
state: present
block: |
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export FABRIC_CFG_PATH=$HOME/.fabdep/config
- name: Load Env variables
shell: source $HOME/.profile
args:
executable: /bin/bash
register: source_result
become: yes
linuxのと同じように、私たちは持っていない.profile
ホームディレクトリではなくマックに何がある.profile
と.bash_profile
MacOSの中で。
したがって、osがMacであるかどうかを確認したいので、パスはである必要が$HOME/.bash_profile
あり、osがLinuxベースである場合は、を検索する必要があります$HOME/.profile
。
追加してみました
when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'precise'
しかし、それは最初には機能せず、長さのプロセスでもあります。変数のosに基づいてパスを取得して使用したいと思います。
ありがとう
私はこの方法で解決策を見つけました。gather_facts:true
yamlファイルの先頭に追加して動作を開始しました。変数をとして使い始めましたansible_distribution
。
ありがとう
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加