2016-04-28 3 views
1

私は、私がそれらのリポジトリからではなく、zipからインストールしたので、私はuninained pythonパッケージを置くフォルダを持っています。Anabilities 2.0を持つフォルダからすべてのパッケージをインストールします。

findコマンドは、これまでのところ、私は次のことをやっていたそれを

を行う方法であると思われるので、私は、Ansible 2.0を使用しています

- name: Install unmaintained dependencies 
    pip: 
    name: "{{ my_project_app }}/requirements/{{ item }}" 
    virtualenv: "{{ my_project_venv }}" 
    with_items: 
    - django-hijack-2.0.0.zip 
    - django-image-cropping-django-19.zip 
    - pisa-3.0.33.zip 

今、私はfindコマンドで遊びました

- name: Loading unmaintained dependencies 
    find: 
    paths: "{{ my_project_app }}/requirements" 
    patterns: "*.zip" 
    register: unmaintained_dependencies 

- debug: 
    var: unmaintained_dependencies 

私は上記の脚本を実行すると、私は次の出力

を取得
ok: [192.168.1.212] => { 
    "files_found": { 
     "changed": false, 
     "examined": 3, 
     "files": [ 
      { 
       ... 
       "path": "/data/my_project/requirements/pisa-3.0.33.zip", 
       ... 
      }, 
      ... 
     ], 
     "matched": 3, 
     "msg": "" 
    } 
} 

私はすべてをまとめる方法がなければならないと思うが、ここで私は立ち往生している。

答えて

1

まだ達成しようとしていることはまだありません。pipモジュールはzipファイルからパッケージをインストールしないため、findモジュールを使用していますか?また、

- name: Install unmaintained dependencies 
    pip: 
    name: "{{ item.path }}" 
    virtualenv: "{{ my_project_venv }}" 
    with_items: "{{files_found.files}}" 

代わりfileを使用しての、:あなたのfind回避策については

は、あなたがパスを必要なときfindタスクの結果を反復、with_items: files_found.filesを使用して、そして{{ item.path }}を使用してタスクを作成することができますあなたはwith_fileglobを使用してループを作ってみることができます。

- pip: 
    name: {{ item }} 
    virtualenv: "{{ my_project_venv }}" 
    with_fileglob: 
    - "{{ my_project_app }}"/requirements/*.zip 

注、私はこれらのソリューションのいずれかをテストする時間を持っていなかった、またはそれ以上のAを依頼しますあなたが達成しようとしていたものを試してみてください。

+1

最初のオプションは私の問題を解決しました。私はアクセスすることがわかりませんでした。私は 'with_fileglob'を使ってそれを動作させることができませんでした(答えにマイナークォートの位置ずれを修正しています)。これは、ノードではなく中央のマシンでホストされているファイルに対してのみ機能するようです。 – dnaranjo

+0

'with_items:files_found.files'は私にとってはうまくいかず、' with_items:{{files_found.files}} ''をしなければなりませんでした。 – Richlv

+0

ありがとう@Richlv、私はAnsibleがこの文法をある時点で許可しなくなったと信じています。私は答えを変えました。 – palvarez89

関連する問題