#jenkins #pipeline #struct #convert #data #stages #post

jenkinsfile

将 Jenkinsfile 转换为数据结构的工具

4 个版本

0.2.1 2021 年 3 月 2 日
0.2.0 2021 年 2 月 26 日
0.1.1 2021 年 2 月 25 日
0.1.0 2021 年 2 月 25 日

#1#stages

LGPL-3.0+

26KB
630

Jenkinsfile

Docs Crates.io Crates.io

将 Jenkinsfile 转换为数据结构的工具。

用法

let jenkinsfile = Jenkinsfile::from_str(code).unwrap();

结构

#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Jenkinsfile {
    pub name: String,
    pub stages: Vec<JenkinsStage>,
    pub post: Vec<PostConfig>,       // todo
}

#[derive(Debug, PartialEq, Eq, Clone)]
pub struct JenkinsStage {
    pub name: String,
    pub steps: Vec<String>,
    pub is_parallel: bool,
    pub sub_stages: Vec<JenkinsStage>,
}

许可证

基于 Jenkins Declarative Parser 的代码,许可证为 LGPL 3.0

@ 2020~2021 本代码在 LGPL 3.0 许可证下分发。请参阅此目录中的 LICENSE 文件。

依赖

~4.5–6.5MB
~125K SLoC