4 个版本
0.2.2 | 2020 年 12 月 20 日 |
---|---|
0.2.1 | 2020 年 12 月 20 日 |
0.2.0 | 2020 年 12 月 20 日 |
0.1.1 | 2020 年 12 月 20 日 |
#15 in #jenkins
34KB
737 行代码(不包括注释)
Jenkins 声明式解析器
此仓库包含 Jenkins 声明式流水线语法的语法和解析器,用于教育和测试目的 :)
命令行界面
此仓库提供了 jdp
命令行工具,可用于检查声明式 Jenkinsfile
的语法
[source,bash]
❯ jdp check data/valid/complex-deployment/Jenkinsfile
Checking: data/valid/complex-deployment/Jenkinsfile
Looks valid! Great work!
安装
您可以从链接:GitHub 发布 下载编译好的版本,或者只需运行 cargo install jdp
。
注意事项
此解析器 不是 Groovy 语法解析器,因此应基本上忽略 Jenkinsfile
中任何高级或奇怪的 Groovy 代码。这包括检查 script
步骤以确保存在 script 块,但其中任何内容都将明确忽略。
开发
jdp
的开发完全通过使用 cargo
来驱动,例如 cargo test
。
使用位于 data/
中的 Jenkinsfile
的本地测试 Jenkins 环境来验证相对简单。但有一个重大缺点,即如果 Jenkins 上未安装某些插件,许多文件将无法通过验证。
创建本地 Jenkins 后,请确保在 /configureSecurity
视图中设置一个固定的 sshd 端口(例如 2022
)。
[source]
find data/valid -iname Jenkinsfile -exec ./scripts/declarative-linter {} \;
依赖关系
~6–14MB
~177K SLoC