我有一个本地存储库,现在我想将它部署到docker容器中。我想写一个shell脚本来处理环境的设置。
shell脚本可以按顺序执行这样的操作:
1.安装virtualenv
pip install virtualenv
2.设置一个名为new-env
virtualenv new-env
3.进入环境
cd new-env
4.activate
source ./bin/activate
5.然后我们需要使用requirements.txt
导出pip freeze > requirements.txt
的依赖项。请注意,我将此文件放在根目录中。
所以:
pip install -r ../requirements.txt
是否可以将这些python脚本混合到一个shell脚本中,以便我只使用sh
脚本进行设置?感谢。
答案 0 :(得分:1)
Ansible是一个不错的选择。它易于上手,随着系统复杂性的增加可以扩展。请参阅此tutorial。使用ansible安装pip,virtualenv等的简单yml
文件可能类似于:
- name: download pip
get_url: url=https://bootstrap.pypa.io/get-pip.py dest=/tmp
- name: install pip
command: "python /tmp/get-pip.py"
- name: Install virtualenv
pip: name=virtualenv
- name: Create virtualenv path
file: path={{ virtualenv_path }} state=directory
- name: Install pip packages under virtualenv
pip: requirements=/home/user/pip_list.txt virtualenv={{ virtualenv_path }}
tags: packages
还有一些样板设置来定义virtualenv_path
和&等变量。您的主机等。只需从github克隆一个简单的repo即可开始使用。
文档非常适合ansible。只需继续谷歌搜索下一步,你就会在这里找到合适的答案。