
当我们希望上传文件到服务器上时,临时写一个上传页面是很麻烦的。好在 Jenkins 提供了文件参数控制器,方便我们上传文件到服务器上,并做进一步处理。本文详细介绍具体步骤。
目录
下载服务器
这篇文章详细介绍了如何搭建一个下载服务器,如果我们本地有一些文件,希望方便的上传到服务器上供其他人下载,那么使用 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}
应用
上传页面可以方便的扩展使用,比如 这篇文章 可以将上传的文件自动生成下载的二维码。