乐趣区

关于jenkins:Jenkins-通过上传文件的方式进行构建和发布

当 Jenkins 无奈间接拜访 GitLab 仓库时,也能够通过 Jenkins Web 端间接上传文件或者压缩包的形式进行构建和公布。

解决方案

关上工程配置

在参数化构建过程中增加文件参数(File Parameter)

参数 备注
文件门路 指定上传文件的门路,绝对于工作空间。(例如:./source.zip)
形容 后续展现给用户看的形容信息。

从浏览器表单提交中承受一个文件,作为构建参数。上传后的文件将会放在工作空间中指定的地位,你 能够在构建工作中拜访并应用它。这对于很多场景下是有帮忙的,例如:

  1. 让用户基于他们构建进去的成品运行测试。
  2. 容许用户在自动化上传、公布、部署过程中替换文件。
  3. 通过上传一个数据集来解决数据。

表单提交中的文件名称就是文件的门路,并且是在环境变量中可见的。例如:你把文件门路设置为 abc.zip,而后 ${abc.zip}会从浏览器传递给你原始的文件名称。(例如 my.zip。)这里的名称不会蕴含目录局部。

文件的上传是可选的。如果用户不上传任何文件,Jenkins 只是简略地跳过这个参数并不会替换 任何文件(然而也不会删除任何曾经存在的文件)。

在命令行模式下参数 - p 对于构建命令 build 会抉择一个本地文件(-remoting),或者从规范输入中读取。(在字符模式下,只容许定义一个文件参数)

在构建中间接通过执行 Shell 操作上传的文件

上传后的文件将会放在工作空间中指定的地位,通过执行 Shell 即可操作上传的文件,例如 unzip -o ./source.zip

其余细节

命令 形容
rm -rf mydirectory 删除目录
rm -rf mydirectory/* 删除目录下文件及目录
rm -rf mydirectory/{*,.[!.]*} 删除目录下所有文件及目录(包含以点 . 开始的暗藏文件及目录)
rm -rf mydirectory-* 删除所有以 mydirectory- 开始的目录

前端我的项目以点 . 开始的暗藏文件及目录较多,包含配置文件等等,所以用 {*,.[!.]*} 匹配这些文件至关重要。

具体参考《如何通过 glob 匹配除当前目录 . 及父目录 .. 外所有暗藏文件》

how to glob every hidden file except current and parent directory


欢送关注我的微信公众号:乘风破浪的 Coder

退出移动版