首页 > 其他分享 >Jenkins pipeline(之Groovy语法简介)

Jenkins pipeline(之Groovy语法简介)

时间:2023-07-14 22:14:13浏览次数:51  
标签:Groovy pipeline 单引号 statement 字符串 Jenkins def

1.Jenkins pipeline编写风格:Jenkinsfile

   声明式风格、脚本式风格

   声明式:格式有强规范性(优势:可读性强。缺点:不灵活、代码冗长)

   脚本式:使用groovy语言编写,灵活性高,可读性差。优点:实现自定义逻辑更方便、可对功能代码段封装为方法(函数)或类  

 

2.流水线脚本结构

node{
stage('Build'){
    checkout scm
    echo 'start build'
}
stage('Test'){
    echo 'start test'
}
stage('Deploy'){
    echo 'start deploy'
}

}

   Node(节点): 是执行 Step 的具体运行环境,不指定默认master节点

   Stage(环节): 一个 Pipeline 可以从逻辑上划分为若干个 Stage,每个 Stage 代表一组操作,如:Build、Test、Deploy

   Step(步骤): 最基本的操作单元,如执行Shell 脚本,构建Docker 镜像,由Jenkins 插件提供

 

3.Groovy语法简介(Groovy /ˈɡruːvi/)   

   注释

   // 单行注释    /* */ 多行注释   //**  */文档注释

   标识符

   变量名 def XX , 字母、$或_开始、不能数字开头

   字符串

   Java原生的java.lang.String;插值字符串 groovy.lang.GString

   单引号字符串

   不支持插值,def name = 'yjiyjgie'  println name.class // class java.lang.String

   三单引号字符串

   支持多行

   字符串插值

   单引号字符串和三单引号字符串,其他形式都支持字符串插值

   占位表达式中的结果最终替换到字符串相应的位置,如def greeting = "Hello ${name}"

   列表(List)

   java.util.ArrayList,[] 中间逗号分隔

   def arrayList = [1, 2, 3] // 默认类型  [下标] 取值

   字典(Maps)

   []来定义字典,元素键值冒号隔开

   如:def persons = [keyVal: 'Guillaume']

   条件语句:

   If语句:

if(condition) {

statement #1

statement #2

...

}

   For循环

   语句用于遍历一组值

for(variable declaration;expression;Increment) {

statement #1

statement #2

}

   函数

   使用返回类型或使用def关键字定义

def methodName() {

//Method code

}

参考链接:https://zhuanlan.zhihu.com/p/74792026

 

标签:Groovy,pipeline,单引号,statement,字符串,Jenkins,def
From: https://www.cnblogs.com/huchao12/p/17555110.html

相关文章

  • jenkins持续集成
    1.jenkins简介  用于持续自动的构建、测试软件项目,监控外部任务的运行,Java语言编写   意义:任一环节都是自动完成,有利于软件发展趋势,节省开发测试时间   CI/CD:持续集成、持续交付。   持续集成定义:一个自动化构建的过程2.jenkins组件   一个自动构建的......
  • jenkins配置用户权限
    #新建用户 # 项目矩阵授权策略,允许read。需要安装插件-搜索:matrix-auth #配置项目权限   #配置后使用  ......
  • jenkins部署spring boot
    安装docker,apt-getinstalldocker-ydocker部署Jenkinsdockerrun--namejenkins-p8080:8080-p50000:50000--restart=on-failure-vjenkins_home:/var/jenkins_homejenkins/jenkins:lts-jdk11在日志打印可以找到密码没找到可以进入容器在输入以下命令打印初始密......
  • groovy脚本sh执行注意单双引号问题
    正常groovy脚本#!/usr/bin/envgroovypipeline{//确认使用主机/节点机agent{node{label'master'}}options{parallelsAlwaysFailFast()}//声明参数parameters{//传包名称string(nam......
  • 记录下Jenkins的使用
    前言文章主要记录下自己搭建前端CI/CD的整个流程。环境搭建一台安装了centos7.x系统的主机安装Java环境//安装>sudoyuminstalljava//测试是否安装成功>java-version安装wget>sudoyuminstallwget安装jenkins//设置镜像源>sudowget-O/etc/yum.repos.d/jenkins......
  • jenkins汉化一部分问题(一半中文一半英文)解决
    方法如下,可以临时完美修复。1.将语言设定为zh_US,Jenkins切换为英文。2.调用restart重启Jenkins:http://jenkisn网址/restart。3.再次语言设定为zh_CN,刷新即可。......
  • Groovy定义的Class在Spel中使用
    @ResourceprivateICustomFunctionServicecustomFunctionService;@PostConstructprivatevoidinit(){LambdaQueryWrapper<CustomFunctionEo>wrapper=Wrappers.lambdaQuery(CustomFunctionEo.class).eq(CustomFunctionE......
  • 解决redis mget和pipeline性能对比的具体操作步骤
    RedisMGET和Pipeline性能对比整体流程为了理解和比较Redis的MGET和Pipeline性能,我们需要了解以下步骤:步骤描述1连接到Redis服务器2使用MGET命令获取多个键的值3使用Pipeline命令批量执行多个命令4计算每个步骤的执行时间5比较MGET和Pipeline的性能......
  • Jenkins远程管理K8S集群实现自动POD部署
    Jenkins远程管理K8S集群实现自动POD部署大致思路修改.kube/config文件,增加新集群的context建立隧道将集群控制端口映射到Jenkins服务器本地端口测试jenkin切换到新context是否能控制该集群新集群配置对接Harbor仓库测试helm部署podJenkins测试配置流水线自动发版1.......
  • jenkins部署及gitlab联调
    jenkins部署及gitlab联调目录jenkins部署及gitlab联调一、jenkins安装1.环境优化2.安装jdkjava环境3.下载jenkins4.启动Jenkins服务5.上个步骤执行成功后,会弹出下面的对话框,我们点击关闭即可6.Jenkins的目录介绍7.修改Jenkins密码二、Jenkins插件安装实战篇1.点击系统管理2>.......