2016-10-29 9 views
0

私はリモートサーバ上で動作するpython virtualenvを持っています。私は、リモートサーバのbashrcをAnsibleを使って次の情報で更新しようとしています。Anonymousを使ってbashrcをvirtualenv情報で更新する

export WORKON_HOME=~/TestEnvs 
source /usr/local/bin/virtualenvwrapper.sh 
workon my_virtual_env 

これを実行する方法はありますか?

答えて

9
  1. .bashrcまたは/etc/bashrcにラインを維持するために

    使用Ansible blockinfileモジュール:

    - name: Ensure virtualenv is sourced from the .bashrc 
        blockinfile: 
        dest: "{{ ansible_env.HOME }}/.bashrc" 
        block: | 
         export WORKON_HOME=~/TestEnvs 
         source /usr/local/bin/virtualenvwrapper.sh 
         workon my_virtual_env 
        marker: '# {mark} ANSIBLE MANAGED BLOCK - virtualenv' 
        insertbefore: BOF 
        create: yes 
    
  2. またはより良い:すべてのソースを呼び出して、あなたの.bashrcを置き換える、.bashrc.d(または.bash_profile.d)ディレクトリを作成しますディレクトリ内のファイル:

    while read filename 
    do 
        source "$filename" 
    done < <(find -L ~/.bashrc.d -type f) 
    

    上記のコンマ別のファイルとしてnds。他のコマンドを現在の.bashrcから別のファイルに移動し、.bashrc.dディレクトリに配置します。

    これは、filecopyモジュールで簡単に達成できます。

関連する問題