当 Jenkins 无奈间接拜访 GitLab 仓库时,也能够通过 Jenkins Web 端间接上传文件或者压缩包的形式进行构建和公布。
解决方案
关上工程配置
在参数化构建过程中增加文件参数(File Parameter)
参数 | 备注 |
---|---|
文件门路 | 指定上传文件的门路,绝对于工作空间。(例如:./source.zip) |
形容 | 后续展现给用户看的形容信息。 |
从浏览器表单提交中承受一个文件,作为构建参数。上传后的文件将会放在工作空间中指定的地位,你 能够在构建工作中拜访并应用它。这对于很多场景下是有帮忙的,例如:
- 让用户基于他们构建进去的成品运行测试。
- 容许用户在自动化上传、公布、部署过程中替换文件。
- 通过上传一个数据集来解决数据。
表单提交中的文件名称就是文件的门路,并且是在环境变量中可见的。例如:你把文件门路设置为 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