Có cách nào tốt hơn để chạy ansible bên trong virtualenv trên các máy từ xa không?Cách tốt nhất để luôn chạy ansible bên trong virtualenv trên máy từ xa?
Cho đến nay cách tôi có thể thấy là sửa đổi tệp .bashrc, theo cách thủ công hoặc với chính bản thân.
Ví dụ:
tasks:
- name: "Enable virtualenv in .bashrc"
lineinfile: dest=.bashrc
line="source {{ PROJECT_HOME }}/venv/bin/activate"
#
# Put tasks that rely on this precondition here (?)
#
# Optionally, disable this later on
- name: "Disable virtualenv in .bashrc"
lineinfile: dest=.bashrc
line="source {{ PROJECT_HOME }}/venv/bin/activate"
state=absent
TODO: Kiểm tra xem cách nó có thể được thực hiện bằng ssh ủy quyền phím: http://binblog.info/2008/10/20/openssh-going-flexible-with-forced-commands/
đẹp giải pháp - có lẽ là nhiệm vụ "thực" đi sau khi nhiệm vụ đang bảo vệ. Tôi nghĩ rằng phần "pyenv wrapper file" ở cuối có lỗi đánh máy - nên là 'pyvenv' để khớp với các tác vụ Ansible. Ngoài ra, dấu ngoặc kép lồng nhau chưa được thoát trong tập lệnh đó trông hơi lạ, nhưng miễn là nó hoạt động ... – RichVel