与Ansible Tower(AWX)API接口的Python库。
towerlib的Python项目详细描述
与Ansible Tower(AWX)API接口的Python库。
开发工作流
工作流支持以下步骤
- lint
- test
- build
- document
- upload
- graph
这些操作由_ci/scripts目录下的相应脚本提供开箱即用的支持,这些脚本具有基于最佳实践的正常默认值。 在mac或linux上的bash中为windows powershell或setup_aliases.sh寻找setup_aliases.ps1将为所有这些命令的外壳提供方便的别名,这些命令的外壳都以下划线开头。
引导脚本在托管虚拟环境的项目目录中创建一个.venv目录。它使用pipenv来实现这一点。 所有其他脚本在执行任何操作之前都会调用它。因此,可以简单地从调用lint开始,这样就可以在实际对项目进行lint操作之前设置所有内容
一旦代码准备好交付,就应该调用标记脚本,接受语义版本控制方案后面的三个参数patch、minor、major中的一个。 因此,对于最初的交付,我们将调用
$ _tag –minor
这将使项目的版本在git中将其标记为0.1.0,并执行推送操作,同时请求更改并使用提供的版本和更改自动更新history.rst。
因此git初始化后的完整工作流是:
- repeat as necessary (of course it could be test - code - lint :) ) * code * lint * test
- commit and push
- develop more through the code-lint-test cycle
- tag (with the appropriate argument)
- build
- upload (if you want to host your package in pypi)
- document (of course this could be run at any point)
重要信息
此模板基于pipenv。为了与Advest.TXT兼容,所以实际创建的包可以被现有Python生态系统的任何部分使用,需要一些黑客。 因此,当用这个构建包时,不要简单调用
$ python setup.py sdist bdist_egg
,因为这将产生一个文件丢失的不可用工件。 相反,使用提供的构建和上载脚本来创建工件中所有必需的文件。
项目功能
- 可以获取、创建和删除塔式部署中的所有实体。
待办事项
这段代码是mvp,需要很多改进。 其中一些是,优化所有查询,实现搜索和过滤,实现实体的智能缓存。
历史
0.1.0(2018年5月25日)
- 首次发布
0.2.0(2018年7月27日)
- 重构代码,对所有塔式对象使用实体管理器,节省大量网络调用并实现 过滤
- 删除了pipenv锁定机制,因为这对于python 2.7来说是完全破坏的
0.3.0(2018年8月1日)
- 添加了启动作业模板作业的功能
1.0.0(2018年9月27日)
- 增加了对指定http或https和证书验证选项的支持
- 将主机的编辑功能扩展到名称、说明和启用状态
2.0.0(2018年10月16日)
- 在运行作业中实现了动态属性。
- 为运行作业实现了取消功能。
- 将模板更新为python 3.7
- 正式放弃对Python2.7的支持
2.0.1(2018年10月25日)
- 更新模板和依赖项
2.0.2(2018年10月25日)
- 已还原上载脚本的中断更改
2.0.3(2018年11月29日)
- 修复了包中右侧Github回购的引用
2.1.0(2018年11月29日)
2.2.0(2018年12月3日)
- 实现了组关联检索(由<;aopgenoort@schubergphilis.com>;贡献)
2.3.0(2018年12月5日)
- 添加了组关联和解除关联
2.3.1(2019年1月3日)
- 碰撞请求
2.3.2(2019年1月9日)
- 已更改library.py
2.3.3(2019年3月7日)
- 更新setup.py
2.3.4(2019年4月4日)
- 添加了缺少的对象导入,该导入导致EntityManager崩溃,无法加载它。
2.3.5(2019年7月25日)
2.3.6(2019年7月31日)
- 固定库存主机删除。