4

ansibleでpyenvを使ってpython3.xをインストールしたいです。

- name: install pyenv
  git: >
    repo=https://github.com/pyenv/pyenv.git
    dest=/home/www/.pyenv
    accept_hostkey=yes
    become: yes
    become_user: www

- name: enable pyenv
  shell: |
    echo 'export PYENV_ROOT="/home/www/.pyenv"' >> /home/www/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /home/www/.bashrc
    echo 'eval "$(pyenv init -)"' >> /home/www/.bashrc
- name: install python
  shell: pyenv install 3.4.3

ansibleでpython3.xをインストールするには?

4

2 に答える 2

4

モジュールを使用してリモート ホストに環境変数を設定するのではなくshell、Ansible にはenvironmentタスクごと、または Playbook ごとに設定できるキーワードがあります。

wwwユーザーが既に存在すると仮定すると、より具体的なパス設定でこれを機能させることができました。

- name: enable pyenv and install python
  shell: /home/www/.pyenv/bin/pyenv init - && /home/www/.pyenv/bin/pyenv install 3.4.3 chdir=/home/www
  environment:
    pyenv_root: /home/www/.pyenv
    path: "{{ pyenv_root }}/bin:$PATH"
  become: yes
  become_user: www

以下を使用して Playbook を実行する必要があります。

ansible-playbook --ask-become-pass <playbook-name>

www要求に応じてユーザーのパスワードを提供します。

それがうまくいかない場合は、プレイブック全体をここに投稿して確認する必要があるかもしれません:)

于 2015-09-14T13:46:56.150 に答える