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

jenkins 流水线比较简单直观的

//全篇没用自定义变量

pipeline {
agent any
// 使用工具自动配置Node.js环境
tools {
nodejs 'nodejs22'  // 需在Jenkins全局工具中预配置该名称的Node.js安装
}

//下面拉取代码通过的是流水线片段生成的
stages {
stage('Checkout Code') {
steps {
git branch: 'release-v1.2.6',
credentialsId: 'gitc1', //全局凭证生成的
url: 'http://192.168.1.9/hhh/xxx-web.git'
}
}

stage('Inspect Workspace') {
steps {
script {
echo "=== 当前工作目录信息 ==="
echo "工作空间路径: ${env.WORKSPACE}"

// Linux/Unix 系统
sh '''
echo "---- 目录结构 ----"
ls -la
echo "---- 磁盘空间 ----"
df -h .
echo "---- 内存信息 ----"
free -h
rm -rf dist
'''

/* Windows 系统使用(如需)
bat '''
echo ---- 目录结构 ----
dir
echo ---- 磁盘空间 ----
wmic diskdrive get size
'''
*/
}
}
}
stage('编译') {
steps {
script {
// 检查Node.js环境
sh """
echo "===== Node.js版本 ====="
node -v
npm -v
pnpm -v
pnpm install
pnpm build:test
ll
"""

// 安装依赖并构建
//withEnv(["HOME=${env.WORKSPACE}"]) {  // 解决某些npm权限问题
//    sh """
//        npm config set registry ${env.NPM_REGISTRY}
//        npm install --verbose
//        npm run build
//        
//        echo "===== 构建产物 ====="
//        ls -la dist/
//    """
}
}
}

stage('SSH 上传') {
steps {
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'jh206测试',
transfers: [
sshTransfer(
sourceFiles: 'dist/**',
removePrefix: '',
remoteDirectory: "/www/wwwroot/lsom",
execCommand: """
# 修复权限问题
ls
# chown -R www-data:www-data ${env.REMOTE_DIR}
# find ${env.REMOTE_DIR} -type d -exec chmod 755 {} \\;
# find ${env.REMOTE_DIR} -type f -exec chmod 644 {} \\;
"""
)
],
verbose: true
)
]
)
}
}
}
}

http://www.dtcms.com/a/278562.html

相关文章:

  • 《每日AI-人工智能-编程日报》--2025年7月14日
  • Spring Boot - Spring Boot 集成 MyBatis 分页实现 PageHelper
  • 17.Python 中的相等性比较:== vs is
  • 具身智能零碎知识点(五):VAE中对使用KL散度的理解
  • 【Java EE初阶 --- 网络原理】初识网络
  • flink 和 spark 架构的对比
  • 如何在 Java 中使用 Redis 实现缓存优化?
  • 4G模块 A7670发送英文短信到手机
  • 11.设置 Python 3 和 pip 3 为默认版本
  • Google的Mediapipe开源框架介绍及使用说明
  • 基于浅切多道的晶圆切割 TTV 均匀性控制与应力释放技术
  • python学智能算法(十八)|SVM基础概念-向量点积
  • CentOS 安装jenkins笔记
  • windows在anaconda中下载安装fasttext
  • jenkins搭建笔记
  • .gitignore文件中的各种写法详解
  • JMeter 连接与配置 ClickHouse 数据库
  • JavaScript 高级封装方法指南
  • 将CSDN文章导出为PDF
  • RabbitMQ的介绍与安装
  • 嵌入式小记
  • 亚马逊自养号技术栈解析:从环境隔离到AI行为模拟的实战指南
  • C++编程语言:标准库:内存和资源管理(Bjarne Stroustrup)
  • 对偶原理与蕴含定理
  • UART寄存器介绍
  • 解决安装 make 时 “configure: error: C compiler cannot create executables” 报错
  • 用于监测线性基础设施的分布式声学传感:现状与趋势
  • week3
  • 阿里云ODPS多模态数据处理实战:MaxFrame的分布式AI数据管道构建
  • ISO 15765-2TP传输协议