各种工具和实用程序,有助于StackStorm打包开发。
项目描述
此存储库包含各种实用程序和工具,有助于StackStorm集成打包开发。
安装
从PyPi(最新稳定版本)
pip install st2sdk
从git(最新开发版本)
pip install -e git+https://github.com/StackStorm/st2sdk.git@master#egg=st2sdk
工具
打包引导/脚手架工具
打包引导工具使您更容易开始StackStorm打包开发。
目前,该工具创建正确的打包目录结构。
用法
以非交互式模式运行工具
st2sdk bootstrap <pack name>
这将创建一个名为 <pack name> 的打包目录,位于当前工作目录中。此目录将包含打包所需的所有目录和文件。
以交互式模式运行工具
st2sdk bootstrap -i [pack name]
在交互式模式下,该工具将询问您几个问题,并使用答案填充打包元数据和其它文件。
检查和Lint脚本
此存储库还包含各种“检查”和“Lint”脚本,可以独立运行或连接到您的持续集成系统。这些脚本验证元数据文件语法,验证打包包含pack.yaml文件等。
其中一些脚本需要访问数据库和网络(例如,PyPi下载打包依赖项等),它们还操作文件系统。您应确保为这些脚本的每次调用提供一个干净的环境。这可以通过使用每个运行时的新虚拟机、docker容器或类似方式来实现。
所有这些脚本都连接到我们的Travis CI系统,并在我方st2contrib仓库的每次推送时运行。
有关如何使用这些脚本的示例,请参阅st2contrib仓库中的Makefile - https://github.com/StackStorm/st2contrib/blob/master/Makefile
如您在Makefile中注意到的,我们有一些脚本和优化措施,因此默认情况下,对于Pull Request,我们只运行更改过的文件和/或包中的脚本。这是一个重要的优化,因为如果我们为所有文件和包(即使是未被修改的)运行脚本,这将显著减慢特定Pull Request的CI运行时间,并延迟用户获取其PR反馈的时间。
如果您在您的仓库中有许多自定义包,您可能想要采用类似的方法。
st2-check-validate-yaml-file
此脚本验证提供的YAML文件是否包含有效的语法。它通常与动作元数据文件和其他YAML文件一起使用。
用法
st2-check-validate-yaml-file <path to YAML file>
请注意,此脚本仅执行语法检查,而不进行语义检查。如果您想确认您的动作或其他元数据文件是正确的,您还应该运行st2-check-register-pack-resources脚本,该脚本尝试注册包中的所有资源,并在注册特定资源失败时出错。
st2-check-validate-json-file
此脚本验证提供的JSON文件是否包含有效的语法。它通常与动作元数据文件和其他YAML文件一起使用。
用法
st2-check-validate-json-file <path to JSON file>
请注意,此脚本仅执行语法检查,而不进行语义检查。如果您想确认您的动作或其他元数据文件是正确的,您还应该运行st2-check-register-pack-resources脚本,该脚本尝试注册包中的所有资源,并在注册特定资源失败时出错。
st2-check-validate-pack-metadata-exists
此脚本验证包是否包含pack.yaml元数据文件。
用法
st2-check-validate-pack-metadata-exists <path to the pack root directory>
st2-check-register-pack-resources
此脚本尝试注册特定包中的所有资源,如果注册特定资源失败,则会失败。
用法
st2-check-register-pack-resources <path to the pack root directory>
此脚本在每次运行时都需要访问新鲜数据库(MongoDB)。此外,它需要所有StackStorm组件(st2actions、st2common等)都在PYTHONPATH中。您可以通过在特定目录(例如/tmp/st2)中克隆st2仓库并设置ST2_REPO_PATH环境变量来指向该目录,在调用脚本时实现这一点。
st2-check-pylint-pack
此脚本在特定包中的所有Python文件上运行pylint。
用法
st2-check-pylint-pack <path to the pack root directory>
此脚本安装包的常规和测试需求,因此需要在为此脚本创建的虚拟环境中运行。
与st2-check-register-pack-resources类似,此脚本也要求访问StackStorm代码库和st2组件。您可以通过在特定目录(例如/tmp/st2)中克隆st2仓库并设置ST2_REPO_PATH环境变量来指向该目录,在调用脚本时实现这一点。
st2-check-print-pack-tests-coverage
此脚本打印特定包的测试覆盖率。它打印包含测试的所有动作和缺少测试的动作。
请注意,此脚本仅用于信息目的 - 目前,如果某些动作缺少测试,它不会失败。
用法
st2-check-print-pack-tests-coverage <path to the pack root directory>
版权、许可和贡献者协议
版权所有 © 2019 StackStorm,Inc.
本作品基于Apache License 2.0(以下简称“许可证”);除非遵守许可证,否则不得使用本作品。您可以在LICENSE文件中或以下网址获取许可证的副本:
https://apache.ac.cn/licenses/LICENSE20
通过贡献,您同意这些贡献是您的个人作品(或已获得雇主的批准)并且您授予所有当前和未来的项目用户和开发者完整的、不可撤销的版权许可,根据项目的许可证。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。