linkorb/pipeline

v1.7.0 2018-06-11 15:52 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:03 UTC


README

Pipeline 是一个库和 CLI 工具,用于加载可编程管道,执行作业并获取每个阶段的详细结果以供报告/调试。

概念

  • 管道:一系列阶段的顺序列表
  • 阶段:管道内具有唯一名称的命令模板
  • 作业:将在管道上执行的作业,可选的输入变量集
  • 作业结果:已在管道上执行的作业的输出,包含状态和管道中每个阶段的 StageResult
  • 阶段结果:执行的精确命令,它的退出代码,stdout 和 stderr。

CLI 示例

加载一个管道 YML 文件并使用输入变量 topic=technology 执行它

bin/pipeline run examples/bbc-news-demo.pipeline.yml -d topic=technology

加载一个管道 YML 文件并从 STDIN 获取输入执行它

bin/pipeline run examples/bbc-news-stdin-demo.pipeline.yml < examples/bbc-news-demo.rss.xml

将作业结果 + 阶段结果的 JSON 结果输出到 result.json

bin/pipeline run -o result.json examples/bbc-news-demo.pipeline.yml -d topic=technology

加载一个管道 YML 文件并有意请求一个不存在的主题以引发错误。这将输出错误。

bin/pipeline run examples/bbc-news-demo.pipeline.yml -d topic=this-topic-does-not-exist

您可以使用 --quiet 来抑制输出和调试输出。您可以与 -o 结合使用来从 .json 文件中读取详细信息。

在任何情况下,管道命令的退出代码都将匹配最后一个阶段结果的退出代码:成功时为 0,失败时为其他值。

库示例

请参阅 examples/example-code.php 了解如何将 pipeline 包用作库。

通过环境变量进行配置

pipeline 将使用管道的输入中的环境变量。这样,您就不需要使用 -d 定义所有必需的变量。

当 pipeline 运行时,它首先检查当前目录中是否存在 .env 文件,并根据其内容更新环境变量。

许可证

MIT。有关详细信息,请参阅许可证文件

由 LinkORB 工程团队提供


查看我们的其他项目linkorb.com/engineering

顺便说一下,我们在招聘!