惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
Recent Announcements
Recent Announcements
Jina AI
Jina AI
G
Google Developers Blog
腾讯CDC
博客园_首页
博客园 - 【当耐特】

晚花行乐

马克卡尼在2026年达沃斯论坛上的讲话(阅读材料) | 晚花行乐 鸡娃如何用力才是恰到好处 | 晚花行乐 读万卷书,行万里路的辩证关系 | 晚花行乐 反对培训机构掐尖招生 | 晚花行乐 小泽和建国会谈最后10分钟全文(阅读材料) | 晚花行乐 来看看 DeepSeek 怎么鸡娃 | 晚花行乐 谈谈基本功 | 晚花行乐 惠普 ProDesk SFF PC 各系列参数对比 | 晚花行乐 解决瘦客户机上安装 Debian 12 启动失败问题 | 晚花行乐 意拾喻言:老外写的文言文 | 晚花行乐 笠翁对韵中的典故(十三元) | 晚花行乐 谈谈中考取消四小门 | 晚花行乐 亚马逊云科技产品免费试用攻略(3) - 对象存储服务 | 晚花行乐 在 Windows 10 LTSC 版本上安装 WSL2 | 晚花行乐 Debian 12 的常用配置项 | 晚花行乐 在 Debian 12 上安装 Nvidia 显卡驱动程序 | 晚花行乐 解决 Debian 12 关机失败问题 | 晚花行乐 解决 VS Code 自动更新版本后卡在连接界面 | 晚花行乐 观看巴黎奥运会有感 | 晚花行乐 在 Windows10 上安装惠普旧打印机驱动程序 | 晚花行乐 欢迎关注公众号:晚花行乐 | 晚花行乐 如何编写拼写检查器 | 晚花行乐 亚马逊云科技产品免费试用攻略(2) - 云服务器 | 晚花行乐 Pandas 中 axis 参数的理解(附实例) | 晚花行乐 我打算命个名,叫什么什么 Manager | 晚花行乐 上海武康路历史建筑一览 | 晚花行乐 Python 实现简单的数学表达式解析并处理 | 晚花行乐 观看马拉松的感悟 | 晚花行乐 Python 保存 Cookies 到文件并再次读取 | 晚花行乐 如何为 Hugo 静态网站添加评论功能 | 晚花行乐
用 Jenkins 制作文件上传入口 | 晚花行乐
2020-12-21 · via 晚花行乐

当我们希望上传文件到服务器上时,临时写一个上传页面是很麻烦的。好在 Jenkins 提供了文件参数控制器,方便我们上传文件到服务器上,并做进一步处理。本文详细介绍具体步骤。

下面一步步的介绍如何添加一个文件上传入口。

Jenkins 的 File Parameter 控件

在Jenkins 的 Job 配置界面内,新建一个 File Parameter 如下图。

在控件的设置项中,只有一个『文件路径』字段,含义比较模糊。点开旁边的帮助按钮,里面的解释也是含混不清。

经过自己的摸索,终于弄清楚了这个配置项的含义,在这里重点解释下。

首先这个名称是误导性的:『文件路径』和上传文件的路径毫无关系。实际的含义是,如果按上图中,在『文件路径』中填入 testfile ,当文件上传后,将发生两件事情:

  • 文件上传到 jenkins 的 workspace 中,然后重命名为 testfile
  • 文件上传前的名称(在用户的文件系统中的名称),保存在 ${testfile} 变量中

接下来,我们可以通过 ${testfile} 变量,将上传的文件改回原来的名字,或者做其他操作。

编写脚本

我们设计以下使用场景:每个 Jenkins 用户都使用这个上传页面上传文件,同时此 Job 能将上传的文件转移到用户自己的目录下。

实现脚本如下:

mkdir -p /path/to/download/${BUILD_USER}
mv testfile /path/to/download/${BUILD_USER}/${testfile}

如果每个 Jenkins 用户都希望上传后能浏览到自己的文件,那么可以再部署一个下载服务。见 下节 中的介绍。

和下载服务器配合

如果我们希望上传后的文件同时提供下载服务,可以和 用 nginx 搭建文件下载服务器 中介绍的下载服务器配合。原理图如下:

上图中,服务器同时提供了上传页面(由 Jenkins 提供)和下载页面(由 nginx 提供)服务。如果将 上节中 Jenkins 的保存路径和 nginx的下载路径 设置为同一个目录,就能实现同时上传下载。

其他应用

上传页面可以方便的扩展使用,比如 Jenkins 自动生成二维码到构建历史 这篇文章 可以将上传的文件自动生成下载的二维码。

各位读后有什么想法,请在下方留言吧!如果对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

精彩评论