我的团队正在享受使用
python来解决我们业务的问题.我们写了很多小的独立脚本应用程序.
但是,我们必须拥有一个中央的窗口框,它们与传统应用程序一起运行.
我们的挑战是通过构建和部署过程进行.
我们想让Bamboo检查git中的脚本,安装要求并运行测试,那么如果所有都是绿色的,那么只需部署到我们的生产箱中即可.
我们希望将图书馆从脚本与脚本隔离开来,因此我们没有依赖问题.
我们已经试图让virtualenvs成为便携式的,但似乎没有了.
Pex看起来很有前途,但它在Windows上不起作用.
理想情况下,您会看到如下所示的文件夹:
AppOne /Script.py /Libs /bar.egg /foo.egg AppTwo /Script2.py /Libs /fnord.egg /fleebly.py
我们在想这个错吗?什么是pythonic方式在企业内部分发脚本?
TL:DR:
使用 Docker
使用 Docker
一个短小的故事:
您可以使用docker为您要部署的每个脚本创建独立映像.
您可以为每个脚本或一组脚本/应用程序安装一个python image(-slim最轻)作为基础环境,并使用它像“virtualenv”,您可以在其中安装该脚本的所有依赖项.
还有一个Bamboo and Docker的集成,你可能会发现有用.
这是Docker documentation参考.
您可以在分离的容器中单独测试每个脚本,如果通过,则可以使用相同的容器将其部署到主服务器中.
这不是你正在问的问题,但是您可以在每个平台(Windows,Linux等)中使用此解决方案,您可以将所有脚本部署到企业服务器(或任何地方),并将其用于公司.
祝你好运 :)