当前位置: 首页 > news >正文

Jenkins Pipeline(二)

1.Pipeline 变量

在 Jenkins 管道(Pipeline)中,变量是一种非常有用的功能,它们可以帮助你在构建过程中存储和传递数据。Jenkins 管道支持多种方式来定义和使用变量,包括环境变量脚本变量以及全局变量。

1.2 脚本变量

在 pipeline 脚本中,你可以使用 Groovy 脚本来定义和操作变量。

pipeline {agent anystages {stage('Example') {steps {script {def myVar = 'anotherValue'echo "My Variable: ${myVar}"}}}}
}

1.3 全局变量

Jenkins Pipeline 支持使用一些预定义的全局变量,例如 env 对象,它包含了环境变量和一些 Jenkins 特有的变量。

pipeline {agent anystages {stage('Example') {steps {echo "Build Number: ${env.BUILD_NUMBER}"echo "Job Name: ${env.JOB_NAME}"}}}
}

1.3 环境变量

环境变量可以在 Jenkins 的“系统管理”->“系统配置”中设置,也可以在 pipeline 脚本中使用 env 指令定义。

pipeline {agent anyenvironment {MY_VAR = 'someValue'}stages {stage('Example') {steps {echo "My Variable: ${env.MY_VAR}"}}stage('Build') {steps {script {def result = sh(script: 'echo "Hello, Jenkins!"', returnStdout: true).trim()env.MY_VARIABLE = result}}}stage('Test') {steps {sh 'echo $MY_VARIABLE'}}}
}

2. Pipeline 读取pom

2.1 使用readMavenPom

使用 readMavenPom需要安装Pipeline Maven Integration Plugin插件。

pipeline {agent anystages {stage('Read POM') {steps {script {// 读取 pom.xml 文件def pom = readMavenPom file: 'pom.xml'// 打印一些信息,例如项目版本和依赖项echo "Project Version: ${pom.version}"echo "Project Group: ${pom.groupId}"echo "Project Artifact: ${pom.artifactId}"echo "Dependencies:"pom.dependencies.each { dep ->echo "${dep.groupId}:${dep.artifactId}:${dep.version}"}}}}}
}

http://www.lryc.cn/news/580345.html

相关文章:

  • 【Elasticsearch】深度分页及其替代方案
  • 【openp2p】 学习2:源码阅读P2PNetwork和P2PTunnel
  • 【STM32实践篇】:GPIO 详解
  • 网络资源模板--基于Android Studio 实现的极简天气App
  • Excel 数据透视表不够用时,如何处理来自多个数据源的数据?
  • 动手实践OpenHands系列学习笔记1:Docker基础与OpenHands容器结构
  • Softhub软件下载站实战开发(十三):软件管理前端分片上传实现
  • 用户中心Vue3网页开发(1.0版)
  • Java零基础笔记01(JKD及开发工具IDEA安装配置)
  • Linux进程管理:从基础到实战
  • 60天python训练计划----day59
  • 数据结构:数组:插入操作(Insert)与删除操作(Delete)
  • 深度学习4(浅层神经网络)
  • 【深度学习】神经网络剪枝方法的分类
  • 由coalesce(1)OOM引发的coalesce和repartition理解
  • C++ 网络编程(15) 利用asio协程搭建异步服务器
  • Linux——进程(下)
  • android studio 配置硬件加速 haxm
  • spring中 方法上@Transation实现原理
  • C++20中的counting_semaphore的应用
  • C++ 模板参数匹配、特化
  • AtCoder AT_abc413_c [ABC413C] Large Queue 题解
  • Oracle 数据库——企业级核心系统
  • MySQL(118)如何使用SSL进行加密连接?
  • mysql的备份与恢复(使用mysqldump)
  • pyinstaller打包教程
  • TCP数据的发送和接收
  • 闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
  • Ubuntu基础(监控重启和查找程序)
  • 模块三:现代C++工程实践(4篇)第一篇《C++模块化开发:从Header-only到CMake模块化》