发布于 2026-01-06 1 阅读
0

如何在提交之前在本地验证您的 Jenkinsfile 参考资料 DEV 的全球展示与讲述挑战赛,由 Mux 呈现:推介您的项目!

如何在提交之前在本地验证你的 Jenkinsfile

参考

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

背景

持续集成和部署是个很有意思的话题。最近我在工作中参与了一些项目,学到了很多东西。这项任务有时确实有点吓人,尤其是在使用 Jenkins 的时候。别误会!Jenkins 是个很棒的工具。我只是觉得它的学习曲线比我尝试过的其他解决方案(比如GitHub ActionsGitLab CI/CD PipelinesBuddy.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!
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

我不会在这里解释文件的各个部分,但你可以观看 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

Jenkins Pipeline Linter 连接器

安装完成后,您需要进行配置。打开VS Code,进入设置( Windows 系统Ctrl按 + 键, macOS 系统按 + 键)。在“搜索设置”栏中输入“Jenkins” 填写以下字段:,Cmd,

  • 连接器密码:请在此处输入您的 Jenkins 用户密码。
  • 连接器 URL:请在此处输入您的 Jenkins 服务器 URL,格式如下所示:
https://<JENKINS SERVER URL>/pipeline-model-converter/validate
Enter fullscreen mode Exit fullscreen mode
  • 连接器用户:请在此处输入您的 Jenkins 用户名。

正在配置

就这样!现在你可以使用远程 Jenkins 服务器的语法检查工具来检查你的 Jenkinsfile 语法了😄。要使用它,请打开你的 Jenkinsfile,打开命令面板,然后输入“Validate Jenkins”。

验证

如果您的文件语法有效,您将在“输出”选项卡中看到类似这样的消息。

输出

结论

在本地环境中验证 Jenkinsfile 可以显著提高编写流水线的效率。只需使用适用于 VS Code 的 Jenkins Pipeline Linter Connector Extension 定期验证语法,即可避免常见错误。

结束

感谢阅读我的帖子。你可以在推特上关注我,或者如果你想支持我,也可以请我喝杯咖啡☕。

参考

文章来源:https://dev.to/nicoavila/how-to-validate-your-jenkinsfile-locally-before-committing-334l