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

jenkins通过API获取FileBrowser管理的工程代码到工作空间

gogs临时故障,将代码临时存放到FileBrowser上进行拉取,保证后面的构建

#!/bin/bash # FileBrowser 源码下载和解压脚本 # 用于替代 Jenkins FreeStyle 项目的源码管理 set -e # 遇到错误时退出 # 配置参数 FILE_BROWSER_URL="http://192.168.1.11:81/api/" FILE_BROWSER_USERNAME="username" FILE_BROWSER_PASSWORD="password" SERVER_FILE_PATH="/code/wi-master.zip" LOCAL_ZIP_FILE="wi-master.zip" EXTRACT_DIR="extracted_source" TARGET_SOURCE_DIR="wi-master" # 清理之前的工作目录 echo "清理工作空间..." rm -rf "$LOCAL_ZIP_FILE" "$EXTRACT_DIR" # 登录 FileBrowser 获取 token echo "登录 FileBrowser..." TOKEN=$(curl -s -X POST \ -H "Content-Type: application/json" \ -d "{\"username\":\"$FILE_BROWSER_USERNAME\",\"password\":\"$FILE_BROWSER_PASSWORD\",\"recaptcha\":\"\"}" \ "${FILE_BROWSER_URL}login") if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then echo "登录失败,无法获取 token" exit 1 fi echo "成功获取 token" # 下载源码包 echo "开始下载源码包: $SERVER_FILE_PATH" curl -s -H "Accept: */*" \ -H "User-Agent: Mozilla/5.0" \ "${FILE_BROWSER_URL}raw${SERVER_FILE_PATH}?auth=${TOKEN}" \ -o "$LOCAL_ZIP_FILE" # 检查文件是否下载成功 if [ ! -f "$LOCAL_ZIP_FILE" ]; then echo "文件下载失败" exit 1 fi echo "文件下载成功,大小: $(ls -lh "$LOCAL_ZIP_FILE" | awk '{print $5}')" # 创建解压目录 mkdir -p "$EXTRACT_DIR" # 解压源码包 echo "解压源码包..." unzip -q "$LOCAL_ZIP_FILE" -d "$EXTRACT_DIR" # 检查解压结果 if [ ! -d "$EXTRACT_DIR/$TARGET_SOURCE_DIR" ]; then echo "警告: 期望的源码目录 '$TARGET_SOURCE_DIR' 不存在" echo "实际解压的目录结构:" ls -la "$EXTRACT_DIR" exit 1 fi # 将源码移动到当前目录 echo "将源码移动到工作目录..." cp -r "$EXTRACT_DIR/$TARGET_SOURCE_DIR"/* . # 显示源码结构 echo "源码目录结构:" find . -maxdepth 3 -type f | head -10 # 清理临时文件 echo "清理临时文件..." rm -rf "$LOCAL_ZIP_FILE" "$EXTRACT_DIR" echo "源码下载和解压完成!"

将jenkins源码管理设置成无,构建里增加构建步骤添加Execute shell并移动到第一个,然后填入上面的代码,并修改为自己的url 账号 路径即可使用。

http://www.cnnetsun.cn/news/139349.html

相关文章:

  • 【康复效率提升300%的秘密】:深度解析医疗Agent自主调参机制
  • htop入门指南:5分钟掌握Linux系统监控
  • 【论文精读(六)】PointCNN:点云也能用卷积?揭秘神奇的 X-Transformation (NeurIPS 2018)
  • 传统热部署VS快马AI:效率提升300%的对比实验
  • 用htop源码快速构建自定义监控工具
  • YOLOv11 改进 - C2PSA | C2PSA融合CPIASA跨范式交互与对齐自注意力机制(ACM MM2025): 交互对齐机制破解特征融合难题,提升小目标与遮挡目标判别力
  • MySQL-MVCC协议(转载IT秀才的文章)
  • 用Groovy快速构建REST API原型:1小时搞定
  • 做 PPT 最难的不是内容,而是模板:10 个免费又好用的 PPT 模板网站整理
  • 需求波动剧烈怎么办?:用多Agent协同预测应对不确定性
  • SD模型实战:用快马平台5分钟搭建AI艺术生成器
  • 游戏 AI 训练资源稀缺预警:2024年最值得收藏的5个开源框架推荐
  • 【量子 Agent 算法优化终极指南】:揭秘下一代智能体高效决策核心机制
  • 医疗康复Agent方案调整实战手册(基于10万+病例数据验证)
  • 会话(Session)
  • AI编程助手如何帮你快速掌握Java基础
  • Alertmanager在生产环境中的5个最佳实践案例
  • 零基础玩转SD模型:快马平台AI带你轻松入门
  • 2026上半年 IT 就业市场机遇丛生,你做好入局准备了吗?
  • 燃尽了...
  • Excel如何快速求出排名第一、第二、第N的对应数据?必备高频函数
  • vue和springboot框架开发的群众网上高效办事系统的设计与实现_6e4j9xi1
  • 飞算JavaAI自然语言直出全流程代码,告别无效加班
  • 蓝桥杯JAVA--启蒙之路(三)语句
  • 金融级情绪识别模型训练全攻略(基于千万级对话数据的优化经验)
  • 计算机系统基础 bufbomb 实验三
  • Tomcat内存机制以及按场景调优
  • ConvertX:自托管的在线文件转换器
  • 2025年支持企业实现社会价值与商业价值的战略
  • 停车场PLC+HMI实战手记