跳转到主要内容

各种工具和实用程序,有助于StackStorm打包开发。

项目描述

Build Status Join our community Slack

此存储库包含各种实用程序和工具,有助于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>

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

本发行版没有可用的源分发文件。请参阅生成分发存档的教程

构建分发

st2sdk-0.5.2-py3-none-any.whl (27.4 kB 查看散列)

上传时间 Python 3

支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面