python - Zenoss ZenPack 开发的典型工作流程是什么?

标签 python database zenoss

ZenPack的开发似乎涉及到各种持久状态的创建。有一些模型类明确表示持久状态。有一些与模型对象关联的皮肤。有持久类的组织者和实例(数据源、图表等)。

考虑到在开发过程中,很多事情在正确完成之前都会做错,并且考虑到加载做错事情的 ZenPack 会对加载到的 Zenoss 实例产生持久的后果,并且这些后果很难撤销,ZenPack 开发的常用方法是什么?

最佳答案

我对 Zenoss 具体一无所知,但这种情况对于任何具有某种形式的持久配置的系统都很常见,例如 Zope 和 Plone。

工作流程是创建一个可以删除和复制的测试环境,但可以部分或全部删除和复制。例如,对于典型的 Plone 站点,您有一个 buildout它允许您复制开发环境,包括所有依赖项。然后,在您开发的扩展模块中,您有一个脚本/函数,允许您根据需要设置持久配置。

这使您能够轻松地重新创建所需的状态。

您还有工作流程“阶段”。开发,通常在每个开发人员的本地计算机上完成。登台/测试,在测试服务器上完成。这是通过将生产计算机的持久状态复制到登台计算机,然后运行任何设置/升级脚本并确保一切正常来完成的。最后升级生产服务器。

关于python - Zenoss ZenPack 开发的典型工作流程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573166/

相关文章:

python - 如何从客户端接收 int 和 string 的缓冲区,并正确存储它们? (cpp 服务器,python 客户端)

python - 如何在两个不同的字典中组合值,这些字典在 python 中具有相同的键

windows - SNMP - 从进程中获取信息

sql - 容纳一对多和一对多(或一对*)关系的最佳实践是什么?

python - Zenoss - 客户的设备访问控制列表

python - matplotlib 轴 ('tight' )不起作用?

python - 查询的最小异或

php - 从 Wamp 服务器上运行的本地主机备份 mySQL 数据库

ruby-on-rails - Ruby on Rails 和数据库 :fixtures:load - can it ignore some models?