如何在提交之前在本地验证你的 Jenkinsfile
参考
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
背景
持续集成和部署是个很有意思的话题。最近我在工作中参与了一些项目,学到了很多东西。这项任务有时确实有点吓人,尤其是在使用 Jenkins 的时候。别误会!Jenkins 是个很棒的工具。我只是觉得它的学习曲线比我尝试过的其他解决方案(比如GitHub Actions、GitLab CI/CD Pipelines、Buddy.works等)
要陡峭一些。
如果您还不熟悉Jenkins,它是一个开源的 CI/CD 自动化套件,在企业环境中非常流行。Jenkins使用一个名为Jenkinsfile
的特殊文件来执行指令。您可以使用以下两种版本:
- 声明式语法:一种相对较新的管道指令编写方式(首次在“管道插件”2.5版本中添加)。更多信息请点击此处。
- 脚本式语法:编写管道的传统方式。此选项严格使用Apache Groovy 语言语法来声明管道的每个步骤。
Jenkinsfile
使用 Jenkins 时,您有两种方法可以实现流水线自动化:
- 使用内联管道
- 使用 Jenkinsfile。
以下是一个 Jenkinsfile 的简要示例:
pipeline {
agent any
stages {
stage("This is stage 1") {
steps {
// Cool stuff goes here!
}
}
stage("This is stage 2") {
steps {
// Cool stuff goes here!
}
}
}
}
我不会在这里解释文件的各个部分,但你可以观看 TechWorld by Nana 制作的精彩视频:《完整的 Jenkins Pipeline 教程 | Jenkinsfile 详解》。
建议使用独立的 Jenkinsfile,因为构建、测试和部署代码的步骤将属于存储库,并且可以进行版本控制。
问题
每次我写 Jenkinsfile 的时候都会出错!😓 问题在于:每次都需要提交并推送这些更改,运行流水线,然后检查(这次)流水线是否能正常运行。这导致 Git 历史记录中充斥着不必要的语法修正(说实话,我真的讨厌写 5 条像这样的提交信息"fix(jenkins): syntax typo")。如何避免这种情况呢?答案是使用VS Code的扩展程序😄。
使用 Visual Studio Code 验证 Jenkinsfile
您需要:
- Jenkins 服务器
- Jenkins 服务器的用户凭据
- 您的电脑上已安装 Visual Studio Code。
- Jenkins Pipeline Linter Connector for Visual Studio Code。
首先,您需要在扩展面板中安装Jenkins Pipeline Linter Connector扩展(Windows 系统下为+ + , macOS 系统下为+ + )。CtrlShiftXCmdShiftX
安装完成后,您需要进行配置。打开VS Code,进入设置( Windows 系统Ctrl按 + 键, macOS 系统按 + 键)。在“搜索设置”栏中输入“Jenkins”。 填写以下字段:,Cmd,
- 连接器密码:请在此处输入您的 Jenkins 用户密码。
- 连接器 URL:请在此处输入您的 Jenkins 服务器 URL,格式如下所示:
https://<JENKINS SERVER URL>/pipeline-model-converter/validate
- 连接器用户:请在此处输入您的 Jenkins 用户名。
就这样!现在你可以使用远程 Jenkins 服务器的语法检查工具来检查你的 Jenkinsfile 语法了😄。要使用它,请打开你的 Jenkinsfile,打开命令面板,然后输入“Validate Jenkins”。
如果您的文件语法有效,您将在“输出”选项卡中看到类似这样的消息。
结论
在本地环境中验证 Jenkinsfile 可以显著提高编写流水线的效率。只需使用适用于 VS Code 的 Jenkins Pipeline Linter Connector Extension 定期验证语法,即可避免常见错误。
结束
感谢阅读我的帖子。你可以在推特上关注我,或者如果你想支持我,也可以请我喝杯咖啡☕。




