网站首页 > 精选文章 正文
1. Pipeline 概述
Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkins 官方推荐使用的持续集成方案。与传统的自由风格项目不同,它是通过 jenkins DSL 编写代码来实现。相比于之前用户只能通过 Web 界面进行配置的方式来定义 Jenkins 任务,现在通过使用 jenkins DSL 和 Groovy 语言编写程序,用户可以定义流水线并执行各种任务。
Jenkins pipeline包含两类元素,分别是stages和steps。如图:
- step 代表单一的操作;告诉 Jenkins 做什么。比如,代码从仓库检出代码,执行脚本
 - stage 等于一系列 step 的组合,通常来表示 Jenkins pipeline 进程的可示化。例如,Build、Test、Deploy等
 
更详细的资料请查看官网
https://www.jenkins.io/doc/book/pipeline/Pipeline 有两种语法,分别是声明式和脚本式
声明式语法
pipeline {
  agent any
  stages {
      stage('Build') {
          steps {
              // TODO
          }
      }
      stage('Test') {
          steps {
              // TODO
          }
      }
      stage('Deploy') {
          steps {
              // TODO
          }
      }
  }
}- agent any:表示任意一个可用代理节点上执行该Pipeline
 - stage('Build'):定义阶段
 - steps {}:阶段执行的步骤
 
脚本式语法
node {
  stage('Build') {
      // TODO
  }
  stage('Test') {
      // TODO
  }
  stage('Deploy') {
      // TODO
  }
}- node:表示任意一个可用代理节点上执行该Pipeline
 - stage('Build') {}:定义阶段。在脚本式语法中 stage 代码块是可选的;不过明确写上的话可以让每个阶段的任务更清晰
 
3. 安装 Jenkins Pipeline 插件
- 安装 Pipeline 和 Pipeline Maven Integration 插件
 
Manage Jenkins -> Manage Plugins
安装后,重启 Tomcat。
3. 流水线编译与部署
- 创建流水线任务
 
新建Item
- 配置流水线任务
 
初学者对于 Pipeline 的脚本肯定无从入手的;但是 Pipeline 提供了一个非常有用的帮助文档。
http://127.0.0.1:8080/jenkins/job/Pipeline_maven/pipeline-syntax/
Pipeline 脚本有两种编写模式
- Pipeline 脚本
 - Jenkinsfile 文件
 
这里选择 Pipeline script
3.1 克隆代码
git credentialsId: 'c8eea0cc-24e7-4eb1-a2dd-42fc1066f35a', url: 'https://gitee.com/hjj520/ruoyi-patrol.git'3.2 编译
bat 'mvn clean install'在 Windows 操作系统 Jenkins Pipeline 中要使用bat来运行 Windows 命令;而 Linux 操作系统则需要使用sh来运行 Shell 命令。
3.3 上传 jar包
bat 'C:/jenkins/pscp.exe -r -l root -pw root %WORKSPACE%/ruoyi-admin/target/ruoyi-admin.jar 192.168.10.8:/home/huangjinjin/software/springdocker'完整 Pipeline 脚本
pipeline {
  agent any
  stages {
      stage('git clone') {
          steps {
              git credentialsId: 'c8eea0cc-24e7-4eb1-a2dd-42fc1066f35a', url: 'https://gitee.com/hjj520/ruoyi-patrol.git'
          }
      }
       
      stage('complie') {
          steps {
                bat 'mvn clean install'
          }
      }
       
      stage('upload') {
          steps {
                bat 'C:/jenkins/pscp.exe -r -l root -pw root %WORKSPACE%/ruoyi-admin/target/ruoyi-admin.jar 192.168.10.8:/home/huangjinjin/software/springdocker'
          }
      }
       
  }
   
}其他步骤可以自行添加,例如,测试、部署等。
猜你喜欢
- 2025-01-11 彻底干掉了 Windows 的 cmd,爽
 - 2025-01-11 玩蛇(Python) - 算法:二分查找(Binary Search)
 - 2025-01-11 Go 每日一库之 cobra
 - 2025-01-11 5笔涂出一只3D猫咪模型,无需手动绑定骨骼,新鬼畜素材get丨浙大
 - 2025-01-11 全功能版新媒体AI工具箱,基于Python+Tauri开发,支持自动更新
 - 2025-01-11 免费好用:这款Win10系统增强工具不要错过
 - 2025-01-11 开源应用!Windows中运行Docker客户端
 - 2025-01-11 Git 远程操作
 - 2025-01-11 一键用AI将小说克隆动漫视频,轻松月入过万,再也不头疼了。
 - 2025-01-11 10分钟搭建自己的Git仓库
 
- 最近发表
 
- 标签列表
 - 
- 向日葵无法连接服务器 (32)
 - git.exe (33)
 - vscode更新 (34)
 - dev c (33)
 - git ignore命令 (32)
 - gitlab提交代码步骤 (37)
 - java update (36)
 - vue debug (34)
 - vue blur (32)
 - vscode导入vue项目 (33)
 - vue chart (32)
 - vue cms (32)
 - 大雅数据库 (34)
 - 技术迭代 (37)
 - 同一局域网 (33)
 - github拒绝连接 (33)
 - vscode php插件 (32)
 - vue注释快捷键 (32)
 - linux ssr (33)
 - 微端服务器 (35)
 - 导航猫 (32)
 - 获取当前时间年月日 (33)
 - stp软件 (33)
 - http下载文件 (33)
 - linux bt下载 (33)
 
 
