jenkins pipline 和 jenkinsfile
Jenkins Pipeline(或简称为 "Pipeline")是一套插件,将持续交付的实现和实施集成到 Jenkins 中。
Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为Jenkinsfile)中,该文件可以被放入项目的源代码控制库中。
Jenkinsfile 是 Jenkins 2.x 核心特性 Pipeline 的脚本,由Groovy语言实现。
- 相比脚本化的流水线语法,它提供更丰富的语法特性,
- 是为了使编写和读取流水线代码更容易而设计的。
pipeline { agent any stages { stage('Build') { steps { // } } stage('Test') { steps { // } } stage('Deploy') { steps { // } } } }
node { stage('Build') { // } stage('Test') { // } stage('Deploy') { // } }
下面将以声明式脚本为例,介绍jenkinsfile:
#设置运行的agent
pipeline {
agent {label 'jenkins-slave'} // 配置构建项目在标签为jenkins-slave的机器上运行
pipeline { agent none stages { stage('Build') { agent any steps { echo "build..." } } stage('Test on Linux') { agent { label 'linux' } steps { echo "test..." }
#配置全局变量
environment {
service="java"
}
#配置可选参数
parameters{
string(name: 'branch', defaultValue: 'dev', description: 'which branch do you want to build?')
choice(name: 'service',choices:"java\nnodejs",description: "服务名")
choice(name: 'gitrepo',choices:"java\nnodejs",description: "仓库地址")
}
post { success { echo '构建成功' } failure { echo '构建失败' } unstable { echo '该任务被标记为不稳定任务' } aborted { echo '该任务被终止' } }
#条件判断
stage('Build'){ steps { script { if ("${gitrepo}" == "java") { echo "java" } else if ("${gitrepo}" == "python"){ echo "python" } else { echo "nodejs" } } } }
#获取命令返回值
stage('Push'){ steps { script{ def pid = sh returnStatus: true, script: " ps -ef|grep tomcat|awk '{print \$2}'" echo '$pid' } } }
赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!
作者: imcati
出处: https://www.cnblogs.com/imcati/>
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南