基于所提供的规则集实现对TerraForm资源的linting和测试的库。

terraformtestinglib的Python项目详细描述


一个基于规则实现对地形资源的linting和测试的库

开发工作流

工作流支持以下步骤

  • 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

,因为这将产生一个文件丢失的不可用工件。 相反,使用提供的构建和上载脚本来创建工件中所有必需的文件。

项目特征

  • 基于提供的规则的Lints terraform文件
  • 根据提供的规则强制在文件上定位资源

历史

0.1.0(2018年5月24日)

  • 首次发布

1.0.0(2018年10月16日)

  • 在linting和testing功能上实现变量、计数属性和格式方法插值
  • 通过对资源的条件筛选实现了测试功能
  • 将管道部分移植到Python3.7
  • 放弃了对python2.7的官方支持

1.0.3(2018年10月17日)

  • 在history.rst文件中实现了标记时更改日志的交互式设置

1.0.4(2018年10月25日)

  • 更新的模板和依赖项

1.1.0(2019年1月7日)

  • 添加了对同名属性的支持以及对值筛选属性

1.1.1(2019年1月14日)

  • 正确处理资源数据中的列表。

1.1.2(2019年1月18日)

  • 如果是数字,则转换为字符串进行替换

1.2.0(19-01-2019)

  • 增加了对“length”方法和多变量字符串的支持

1.2.1(20-01-2019)

  • 修正了count是一个字符串的错误,该字符串破坏了范围计算

1.2.2(2019年1月22日)

  • 添加了对多个相同键的支持,这些键最终在内部作为列表处理

1.2.3(2019年1月22日)

  • 添加了基于资源上的“跳过测试”标记跳过测试的功能

1.3.0(2019年2月6日)

  • 实现了所有terraform支持的实体,如,data,terraform和provider

1.4.0(2019年2月7日)
  • 实现了对灾难恢复.tf文件的跳过定位检查。重构容器对象以公开筛选

1.4.1(2019年2月7日)

  • 固定堆栈对象的实例化

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无JPA的纯Hibernate ORM java SpringBoot配置   安卓会生成一组唯一的java数字   java我的自定义阵列列表每次启动时都会崩溃我不确定为什么会一直崩溃   Java继承;将子类传递给超类的抽象方法   java从没有if语句的数组中获取instanceof type   java中使用对象的温度转换   存储库接口的JavaSpringDataMongoDBeanXML配置   java JAXWS为iBM websphere、iBM web服务客户端添加寻址   数组试图返回Java中两个对象的面积之和   apache Spark java:columnNameOfCorruptRecord和badRecordsPath在加载csv时不工作   java无法创建。txt文件   java Hibernate与MySQL插入查询不一致   不考虑java Hazelcast分布式地图的最大大小   bash Java如何在父进程中设置环境变量