Skip to main content

Concourse 管道的基于代码的描述

项目描述

飞行计划 - 轻松规划您的大厅管道

用于对 Concourse 管道进行编码的 AWS CDK 类工具(具有自动完成功能。)

为什么不坚持使用 YAML

编写 YAML 文件感觉不像 XML 那样繁重,但仍然缺乏自动完成和某种结构化的舒适性(除了锚点或YTT之类的工具)。

Flightplan 的愿景并不止于替换 YAML,真正的好处始于组件库,它简化了管道的设置。

此外,这些组件可以更新,从而使所有改进自动适用于所有管道。

特征

  • 兑换:
    • YAML -> Python
    • Python -> YAML
  • 飞集成
    • 设置管道
    • 获取管道
  • 发货示例
    • 你好世界
    • 更多内容

免责声明 - 阿尔法

该软件包仍处于 alpha 阶段。即将发布的版本可能包括重大更改。

即将到来

  • 提供处理常见用例的高级组件

设置

Flightplan 需要 Python 3.8 及更高版本。

安装 FlightPlan

飞行计划需要fly安装在路径上。

pip3 install flightplan

用法

如果您从 Flightplan 开始,建议您查看 cli 中附带的快速入门示例。

如果要迁移现有管道,可以使用

  • fp import- 将 YAML 转换为 Python
  • fp get ...- 获取和转换正在运行的管道

快速开始

生成一个基本的管道示例。

fp quickstart

导入现有管道文件

转换管道 yaml 并渲染飞行计划.py文件。

fp import <src.yaml> <target.py>

从 fly 导入现有管道

从 fly 转换管道并渲染飞行计划.py文件。

fp get <fly_target> <pipeline_name> <target.py>

Var(str)如果字段的类型限制为 int 或 Enum 类型,则静态和动态变量将被导入为。

.py从飞行计划文件合成 yaml

fp synth <src.py> <target.yaml>

直接飞集管道

fp set <fly-target> <pipeline_name> <src.py>

例子

快速入门 hello world 示例:

from flightplan.render import *

pipe = Pipeline(
    resource_types=[],
    resources=[],
    jobs=[
        Job(
            name="job-hello-world",
            public=True,
            plan=[
                Task(
                    task="hello-world",
                    config=TaskConfig(
                        platform="linux",
                        image_resource=ImageResource(
                            type="docker-image",
                            source=dict(repository="busybox", tag="latest"),
                        ),
                        run=Command(path="echo", args=["hello world"]),
                        inputs=[],
                        outputs=[],
                    ),
                )
            ],
        )
    ],
)

if __name__ == "__main__":
    print(pipe.synth())

项目详情


下载文件

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

源分布

flightplan-0.1.2.tar.gz (9.5 kB 查看哈希

已上传 source

内置分布

flightplan-0.1.2-py3-none-any.whl (10.8 kB 查看哈希

已上传 py3