Jenkins - Groovy
1 - Groovy简介
基于JVM的轻量级动态类型语言。
在一些工具DSL, Gradle或是与Java的混合编程中用到,Jenkins中也大量用到,用于编写配置文件。
- 官网: http://www.groovy-lang.org/
- 文档: http://www.groovy-lang.org/documentation.html
- 语法: http://www.groovy-lang.org/syntax.html
Tutorial
- Groovy脚本基础全攻略: https://www.jianshu.com/p/fbfaaecc19ee
- Groovy 教程: https://www.w3cschool.cn/groovy
2 - 在Windows10上配置Groovy环境
2.1 安装JDK
下载OpenJDK的zip 包并解压到指定目录
- https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/
- https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/windows/
- https://mirrors.huaweicloud.com/openjdk/
新建环境变量JAVA_HOME,变量值为zip包解压后的路径
添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
到环境变量PATH
在命令行执行java -version
和javac -version
验证,能够获得版本号,无报错信息则证明配置完成。
2.2 安装Groovy SDK
下载Groovy SDK的zip包并解压到指定目录
- https://groovy.apache.org/download.html
- https://archive.apache.org/dist/groovy/
- https://mirrors.tuna.tsinghua.edu.cn/apache/groovy/
配置groovy的环境变量GROOVY_PATH,变量值为zip包解压后的路径
添加%GROOVY_HOME%\bin
到环境变量PATH
在命令行执行groovy -version
,能够获得版本号,无报错信息则证明配置完成。
2.3 Groovy自带的编辑器
在命令行下执行groovyconsole命令会启动自带的编辑器,适合学习和简单场景
2.4 VS Code与Groovy
先安装code-groovy插件 code-groovy:Better groovy support for VSCode
再安装Code Runner插件 Code Runner:Run code snippet or code file for multiple languages and custom command
其他插件
- Jenkins Pipeline Linter Connector --- validates Jenkinsfiles by sending them to the Pipeline Linter of a Jenkins server
- JenkinsFile Support --- This extension adds syntax highlighting support for Jenkinsfile's
- Groovy Lint, Format and Fix --- Lint, format and auto-fix groovy and Jenkinsfile
- Jenkins Doc --- Provides Jenkins documentation and autocompletion on Jenkinsfile and Groovy files
2.5 使用Intellij IDEA安装groovy插件进行groovy开发
https://www.jetbrains.com/help/idea/groovy.html
例如,
- 新建一个Project,选择Groovy,指定Project SDK和Groovy library
- 指定项目名,然后选择src目录, 右键新建一个Groovy文件,选择Groovy Script并指定文件名
- 在Groovy Script文件填写
pritnln "Hello Groovy"
, CTRL + SHIFT + F10运行。
3 - 编写与验证
3.1 Jenkins Web Pipeline
简单的Jenkinsfile,可以在 Jenkins Web Pipeline 页面里编写(自带语法检查)
3.2 pipeline-syntax
- https://www.jenkins.io/doc/
- https://www.jenkins.io/doc/pipeline/steps/
- https://www.jenkins.io/doc/book/pipeline/syntax/
Snippet Generator: https://<Jenkins server url>/pipeline-syntax/
3.3 本地格式化和验证Jenkinsfile
为了避免开发Jenkins流水线开发时出现语法错误,可以通过VS code的插件来进行检查。
Validate your Jenkinsfile from within VS Code: https://jenkins.io/blog/2018/11/07/Validate-Jenkinsfile/
可以将Visual Studio Code与Jenkins Pipeline Linter Connector插件一起使用,在VS Code中本地格式化和验证Jenkinsfile。
需要在设置中指定插件的参数
- jenkins.pipeline.linter.connector.url
- jenkins.pipeline.linter.connector.user
- jenkins.pipeline.linter.connector.pass
- jenkins.pipeline.linter.connector.crumbUrl
注意:
- 请确认Jenkins启用了“CSRF Protection”(Manage Jenkins -> Manage Configure Global Security 页面)
- 实际上是利用Jenkins API进行语法格式校验,并不能保证pipeline内容完全可用
示例:
https://jenkins.ap.manulife.com/blueocean/
运行插件: 右键 -> Command Palette -> Validate Jenkinsfile 或 执行快捷键 Shift + Alt + V
4 - 参考信息
- IntelliJ IDEA:使用Groovy: https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-d7pv2u4w.html
- 基于IntelliJ IDEA创建第一个Groovy工程: https://www.cnblogs.com/taoweizhong/p/10991434.html
- https://stackoverflow.com/questions/52430027/compile-groovy-in-vscode
5 - Tips
1 - Groovy代码的格式化方法
- VScode:设置文件类型绑定,将.groovy后缀文件识别为.js,然后“格式化文档”, 可以格式化缩进
- IntelliJ IDEA:支持Groovy的代码补全、语法和错误高亮、代格式化与检查、重构与调试
指定文件类型绑定
https://code.visualstudio.com/docs/languages/overview#_adding-a-file-extension-to-a-language
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。