У меня есть простая программа на Python, которая реализует экспортер prometheus, который использует zdaemon через buildout. Как я могу развернуть это с помощью Ansible, сохранив изолированную среду, которую создает buildout?
Я смотрел на pip-модуль Ansible, но если я создаю пакет, используя buildout setup ...
, тогда я просто упаковываю myscript без zdaemon, который добавляет buildout.
Я думаю об этом, чтобы установить «bin / server», который выполняет buildout на сервере, и запустить его из cron's @reboot, но, конечно, это не будет работать напрямую, потому что buildout использует пути на компьютере сборки в сценариях, которые он генерирует.
buildout.cfg:
develop = .
parts = server
[server]
recipe = zc.zdaemonrecipe
program = ${buildout:bin-directory}/myscript.py
eggs =
myscript
zdaemon
setup.py:
from setuptools import setup, find_packages
setup(
name="myscript",
version="0.1",
packages=find_packages(),
scripts=['myscript.py'],
install_requires=['prometheus_client']
)