DevOps - Groovy

1 - Groovy简介

基于JVM的轻量级动态类型语言。
在一些工具DSL, Gradle或是与Java的混合编程中用到,Jenkins中也大量用到,用于编写配置文件。

Tutorial

2 - 在Windows10上配置Groovy环境

2.1 安装JDK

下载OpenJDK的zip 包并解压到指定目录

新建环境变量JAVA_HOME,变量值为zip包解压后的路径
添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin到环境变量PATH
在命令行执行java -versionjavac -version验证,能够获得版本号,无报错信息则证明配置完成。

2.2 安装Groovy SDK

下载Groovy SDK的zip包并解压到指定目录

配置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
例如,

  1. 新建一个Project,选择Groovy,指定Project SDK和Groovy library
  2. 指定项目名,然后选择src目录, 右键新建一个Groovy文件,选择Groovy Script并指定文件名
  3. 在Groovy Script文件填写pritnln "Hello Groovy", CTRL + SHIFT + F10运行。

3 - 编写与验证

3.1 Jenkins Web Pipeline

简单的Jenkinsfile,可以在 Jenkins Web Pipeline 页面里编写(自带语法检查)

3.2 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 - 参考信息

5 - Tips

1 - Groovy代码的格式化方法

  • VScode:设置文件类型绑定,将.groovy后缀文件识别为.js,然后“格式化文档”, 可以格式化缩进
  • IntelliJ IDEA:支持Groovy的代码补全、语法和错误高亮、代格式化与检查、重构与调试

指定文件类型绑定
https://code.visualstudio.com/docs/languages/overview#_adding-a-file-extension-to-a-language

posted @ 2020-07-10 23:48  Anliven  阅读(1601)  评论(0编辑  收藏  举报