Jenkins Pipeline node和agent的区别与联系

「Jenkins Pipeline」- 配置多版本NodeJS构建环境 @20210307 问题描述 前端开发人员使用多种版本NodeJS环境进行开发,并使用NVM自如切换版本。在使用Jenkins构建时,也应该使用对应版本进行构建。本文将介绍在Jenkins Pipeline中,如何使用不同NodeJS版本进行构建任务。 解决方法 第一步、安装插件 可以使用 NodeJS 插件,网络教程详尽,不再赘述。 第二步、配置版本 Manage Jenkins => Global Tool Configuration => NodeJS => NodeJS installa. 阅读详情

联系:node, agent以及slave都用来指被Jenkins master管理的用来执行Jenkins jobs的服务器。

区别:agents用在表述性pipeline中,可以不仅仅是nodes,还可以是docker container等。

           nodes用在脚本化pipeline中。

表述性pipeline

所有操作都在pipeline块中执行,格式如下:

pipeline
{
//pipeline can be defined here
}

脚本化pipeline

绝大多数操作都在node中执行,格式如下:

node{
stage("A"){
}
// ... stages
}

Agent在表述性pipeline中的应用

agent必须在pipeline的顶端定义,也可在stage的顶端定义。例如

pipeline {
  agent none
  stages {
    stage("Stage A") {
      agent any
    } // stage
    stage("Stage B") {
      agent { label 'my-defined-label' } 
    } //stage
  } // stages
}

Node在脚本化pipeline中的应用

在脚本pipeline中,一个或者多个node块来完成整个pipeline的核心工作。在脚本pipeline中,node并不是必须的。但是,node中的pipeline可以完成两样工作:

1. 一个块就是一个queue,只要node中又可用的executor,则块中的模块就会执行。

2. 创建工作区间。

node {  
    stage('Build') { 
        // 
    }
    stage('Test') { 
        // 
    }
    stage('Deploy') { 
        // 
    }
}
node {
    stage('ReBuild') { 
        // 
    }
    stage('ReTest') { 
        // 
    }
    stage('ReDeploy') { 
        // 
    }
}

 

Jenkins 添加node节点 Jenkins- 系统管理 - 全局安全配置, 把 SSH Server 设置为启用(默认是禁用)Jenkins- 插件管理- 可选插件- 搜索SSH Agent。4.添加Jenkins主机SSH私钥key为凭据。2.发送Jenkins主机公钥至要远程主机上。3.测试Jenkins主机免密连接远程主机。1.添加远程主机的ROOT账号密码为凭据。1.Jenkins主机生成SSH密钥。 阅读详情

相关推荐

15-Jenkins-Pipeline-声明式流水线语法-agent指令

声明式流水线语法-agent

小白的博客 3350

Pipeline工程配置NodeJS环境

参考Jenkins Starting with Pipeline doing a Node.js test,配置NodeJS开发环境 插件 首先下载NodeJS插件,进入Manage Jenkins -> Manage Plugins -> Available,搜索NodeJS插件并安装 配置 插件安装完成后,进入Manage Jenkins -> Global Tool Configuration,会出现NodeJS的配置选项 点击NodeJS Insllation,设置Name属性

西西工作室 2744

Intel Mobileye EyeQ Ultra:RISC-V架构的L4自动驾驶芯片解析

RISC-V作为开源指令集架构,凭借其模块化设计和可定制特性,正在重塑高性能计算领域。其精简指令集带来的确定性执行时序,特别适合自动驾驶等实时性要求严苛的场景。在异构计算架构中,RISC-V与专用加速器(如NPU、GPU)的协同设计,能显著提升能效比和算力密度。Mobileye EyeQ Ultra采用12核RISC-V集群,结合176TOPS AI加速器和5nm工艺,实现了L4级自动驾驶所需的实时感知与决策能力。这种架构为车载计算平台提供了可扩展的解决方案,同时降低了系统复杂度和BOM成本。

weixin_33245447的博客 425

jenkins pipeline node脚本式指定运行节点

所谓运行节点,就是jenkins的运行环境。 如果jenkins配置了多个节点,pipeline脚本式在不指定节点就构建时,会任意指定一个节点去运行,这在pipeline声明式不存在该问题,因为声明式通过agent指定节点,而agent是必写的 声明式例子很多,如下: pipeline{ agent{ label "master" } stages{ stage('parallel'){ parallel {

xiah2li的博客 8417

2024高教社杯数学建模国赛B题丨国一原创论文解析及源码超详细分享!

继续分享一篇2024国赛B题的国奖论文,包含可运行源代码jupyter,国赛B题通常比较聚焦实际复杂系统的多目标优化决策,主要偏重算法实现与概率建模解决开放性的管理问题。而且高度开放,无标准答案,学科交叉复杂,如资源调度、交通优化、海洋探测等。比较建议有一定统计学基础的同学参加。

ihui永不放弃 6736

AB相增量式编码器以及STM32定时器编码器模式测速/测距离(HAL库)

编码器(Encoder)是一种用于测量旋转运动或位置的设备。编码器通常与定时器模块一起使用,以便在微控制器中获取和计算旋转的脉冲数量,从而确定物体的运动方向和距离。编码器在许多应用中都很有用,例如机器人运动控制、电机位置反馈和位置传感。STM32微控制器提供了多种类型的编码器支持,其中一种常见的编码器类型是增量编码器。增量编码器基于两个脉冲信号通道,通常称为A相和B相。当旋转发生时,这两个信号通道的相位关系会发生变化,从而可以计算出旋转方向和旋转的步数。

嵌入式软件工程师的博客 1万+

OpenShift origin 的 Jenkins Pipeline 示例实战:从基础流水线到 Maven、蓝绿部署与声明式 Pipeline

本篇指南基于 origin 仓库(OpenShift 一致性测试套件仓库)中 [examples/jenkins/pipeline](https://link.gitcode.com/i/bf07e5093fcf120587867307e27d49c9) 目录下的 Jenkins Pipeline 示例,讲清如何在 OpenShift/OKD 集群中部署可执行 Jenkins Pipeline 的

gitblog_00051的博客 769

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

【Jenkins】Pipeline流水线语法解析全集 -- 声明式流水线

Jenkins提供了两种开发Pipeline的方式:脚本式和声明式。脚本式流水线(也称为“传统”流水线)基于Groovy作为其特定于域的语言。而声明式流水线提供了简化且更友好的语法,并带有用于定义它们的特定语句,而无需学习Groovy。声明式流水线语法错误在脚本开始时报告。这是一个很好的功能,因为您不会浪费时间,直到某个步骤未能意识到拼写错误或拼写错误。如前所述,流水线可以以声明式或脚本式编写。而且,声明式方法建立在脚本式方法的基础之上,通过添加”script”步骤,可以很容易地进行扩展。声明式流水线。

liu_chen_yang的博客 8829

Unity 工具 之 Natcorder 插件实现录频、拍照jpg、生成Gif动图功能(适用移动端)

Unity 工具 之 插件实现录频、拍照jpg、生成Gif动图功能(适用移动端) 目录 Unity 工具 之 插件实现录频、拍照jpg、生成Gif动图功能(适用移动端) 一、简单介绍 二、插件导入使用 三、几个 Demo 演示效果 四、关键代码 五、下载地址 一、简单介绍 Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。 本节介绍,使用Unity插件,进行屏幕录制,生成图片,gif 动图,以及mp4文件等;能录制场景,也能录制摄像头,多功能录

仙魁XAN 7557

从理论到代码:手把手教你用Matlab复现MMC的HSS阻抗模型(附避坑指南)

本文详细介绍了如何使用Matlab复现MMC的HSS阻抗模型,涵盖谐波状态空间(HSS)理论、代码实现步骤及常见问题解决方案。通过谐波线性化和序阻抗建模技术,帮助工程师准确分析MMC的阻抗特性,并提供避坑指南以解决矩阵维度错误、收敛性问题和频域转换陷阱等难点。

weixin_42561040的博客 356

Jenkins高级篇之Pipeline语法篇-4-Declarative Pipeline语法-agent

这篇开始跟着官网Pipeline文章来具体学习Pipeline语法知识。我们先从Declarative 模式开始,当然,以后我个人主推使用这个模式,前面已经说了原因。这里再说下Declarative的特点,Declarative Pipeline是Jenkins Pipeline 的一个相对较新的补充, 它在Pipeline子系统之上提出了一种更为简化和有意义的语法。我看到有人把Declarati...

Anthony_tester的博客 2万+

【STM32】H743的25MHZ外部晶振下480MHz时钟的CubeMX配置图

备忘 有时候临时调一个外设做实验需要快速搭建工程的时候,老忘记配置的数据 再补一段代码格式的 void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; /** Supply configuration up

一只爱做笔记的码农 3395

Jenkins Pipeline在不同阶段指定不同的 agent 或 Docker 容器进行执行任务和固定一个节点分段执行任务,一文带你搞定

还有一种混合使用的方式就是固定在一个节点,但是每个任务可以指定不同的方式去执行,比如在节点上获取代码,然后在节点上启动nodejs的容器进行打包。路径,才用默认路径,同时不再依赖 Jenkins 的自动挂载,完全手动控制挂载点和工作目录。当固定一个节点分段执行任务的时候,比如启动容器去构建,这个时候会遇到一个目录挂载的问题,当使用。:设置容器的工作目录为当前 Jenkins 工作空间(保证容器内能访问拉取的代码)。)挂载到容器内的一个特定路径,并且默认的工作目录(脚本方式,手动指定挂载和工作目录。

soso678的博客 757

Modbus 通信协议详解

Modbus是由 Modicon(现为施耐德电气公司的一个品牌)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给 IDA(,分布式自动化接口)组织,并成立了 Modbus-IDA 组织。

Projectsauron 的博客 7万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

史上最全 Jenkins Pipeline流水线详解

流水线jenkins有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。pipeline {agent anyoptions {timeout(time: 1, unit: 'HOURS') //超时时间1小时,如果不加unit参数默认为1分timestamps() //所有输出每行都会打印时间戳。

2401_88752464的博客 1399

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Claude Code CLI 实战指南:从 Jenkins 到 Node.js 的工程化提效

CLI 工具是开发者实现跨环境、可复现自动化的核心载体。其本质是将模糊的业务意图,通过结构化指令翻译为符合工程规范的可执行代码。相比编辑器插件,CLI 具备确定性输入输出、环境解耦与配置可审计等技术优势,在 CI/CD 流水线(如 Jenkins Pipeline)、构建脚本(如 pnpm)、服务开发(如 Node.js)等场景中,能显著提升单位时间内的有效编码产出。本文聚焦 Claude Code 官方 CLI,详解其安装配置、三段式指令范式及在 Jenkins 自动部署、Node.js 工程脚手架等真实

chikuai9995的博客 557

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jenkins基础知识-----03Pipeline代码详细解释

jenkins-pipeline中的两种代码:Declarative和Scripted 常用的是Declarative,结构清晰简单,Scripted更灵活 解释: 上面是一个Declarative类型的Pipeline,这个,我前面说过,基本上实际开发都采用这个。虽然Scripted模式的Pipeline代码行数精简,很短,上面Declarative有20行代码,如果用Scripted模式,就10行代码。但是Scripted脚本很灵活,不好写,也不好读,维护起来相等困难。我...

测试媛 893

Jenkins Pipeline流水线详解

jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。pipeline {agent anyoptions {timeout(time: 1, unit: 'HOURS') //超时时间1小时,如果不加unit参数默认为1分timestamps() //所有输出每行都会打印时间戳。

辣香牛肉面的博客 1846

还在电脑上装模拟器?用 EmulatorJS 5 分钟让浏览器跑起复古游戏

EmulatorJS 是一个基于浏览器的前端 RetroArch 模拟器,把 NES、SNES、GBA 等经典机型的游戏直接跑在网页里,无需安装任何东西。适合想把复古游戏库嵌进自己网站的开发者,以及只想"打开就能玩"的复古游戏爱好者。 ## 快速上手:本地跑通 EmulatorJS 演示 1. 把仓库克隆到本地 ```bash git clone https://gitcode.com/Gi

gitblog_00268的博客 211

Jenkins自动化部署实战:从环境搭建到Pipeline流水线

持续集成是现代软件开发的核心实践,通过自动化构建、测试和部署流程,确保代码质量与交付效率。Jenkins作为开源的持续集成工具,基于可扩展的插件架构实现与Git、Docker等工具的深度集成。其技术价值在于将易出错的手工操作转化为标准化流水线,支持自由风格项目和Pipeline两种任务模式,适用于多环境部署和团队协作场景。通过配置Webhook触发、SSH免密登录等实战技巧,可构建完整的自动化部署流程。本文以Java项目为例,详解从Docker环境搭建到多阶段Pipeline设计的完整解决方案,涵盖资源监控

weixin_34101784的博客 428

Jenkins高级篇之Pipeline语法篇-3-第一个Pipeline代码详细解释

        前面一篇,我用Jenkins支持的脚本输入框执行构建,还用了github上拉取代码下来进行构建项目。这篇,就来详细解释下每行代码的含义,还有就是复习一下第一篇提到的几个关键字,这样的基础中的基础知识。 1.Declarative代码如下 pipeline { agent any stages { stage('Build') { ...

Anthony_tester的博客 1万+

OpenCreator 全解析:以 Codex 为内核的本地 AI 创作工作台,跑通 10 项创作工具

OpenCreator 是一个开源的本地 AI 创作工作台:它不自己实现 Agent 循环,而是把 Codex CLI 当作执行内核,把视频翻译、视频下载、图像与视频生成等 10 项创作工具装进同一套工作台,Web 与 Desktop 共用一份前端,数据默认留在本机。本文结合仓库源码,讲清它的定位、功能拆解、从源码启动的完整步骤与配置项,帮助你直接上手。 ## 它解决什么问题:一套内核,两种工作

gitblog_00796的博客 753

Jenkins基础

##Pipeline Pipeline 简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化 基本概念 node 关键字node就是用来区分,Jenkins环境中不同的节点环境。例如一个Jenkins环境包括master节点,也就是主节点,还包括N多个从节点,这些从节点在添加到主节点的向导页面中有一个参数,好像是label,就是给这个从节点取一个名称。在Pipeline代码中可以通过node这个关键字告诉Jen

qi531621028的博客 809
上一篇: Github Hello World项目: 10分钟Github入门
下一篇: 如何使用表述性Pipeline
solinger
博客等级 码龄16年 125粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值