Jpom Jpom
🔖首页
  • 一键安装教程
  • Docker 容器安装教程
  • 离线安装教程
  • v2.9.X迁移到v2.10.X指南
  • v2.8.X迁移到v2.9.X指南
  • 数据库迁移到 mysql
  • 实践案例目录
  • 名词解释
  • 什么是 DSL
  • 权限说明
💡DSL说明
  • 加入社区讨论
  • 如何贡献
  • 贡献者们
🤝用户
  • 下载中心
  • Gitee (opens new window)
  • Github (opens new window)
🔖首页
  • 一键安装教程
  • Docker 容器安装教程
  • 离线安装教程
  • v2.9.X迁移到v2.10.X指南
  • v2.8.X迁移到v2.9.X指南
  • 数据库迁移到 mysql
  • 实践案例目录
  • 名词解释
  • 什么是 DSL
  • 权限说明
💡DSL说明
  • 加入社区讨论
  • 如何贡献
  • 贡献者们
🤝用户
  • 下载中心
  • Gitee (opens new window)
  • Github (opens new window)
❤️成为赞助商
  • 常见问题

    • 账号相关
    • 启动失败
    • 数据相关
    • 无法访问
    • 使用报错
    • 修改配置
    • 在线构建相关
    • 权限说明
    • 更多问题
  • 名词解释

    • 基础名词
    • 命令相关
    • 产物目录
      • 产物目录
      • 模糊匹配规则
        • 🌰 举个栗子
        • 栗子1: /web*/**/*.html:KEEP_DIR:/web2/
        • 栗子2: /web*/**/*.html:SAME_DIR:
        • 栗子3: /web*/**/*.html:KEEP_DIR:
    • 更多说明
  • DSL说明

    • DSL 说明
    • 管理 java 项目脚本示例
    • 管理 python 项目脚本示例
    • 容器构建的 DSL 配置示例
  • Nginx 代理配置

    • Nginx代理推荐配置
  • 配置 maven 私服
  • 开启备份文件功能相关说明如下
  • FQA
  • 名词解释
bwcx_jzy
2023-02-24
目录

产物目录

# 产物目录

在添加构建时候需要填写产物目录。

这里产物目录是指:执行构建命令后执行发布操作时发布指定文件或者文件夹到对应位置的目录

这里的目录注意一定是仓库路径下面的相对目录

比如:

  • 构建 java 项目成功后会生成 target 目录,一般场景都是需要 target 目录下面的某个文件,那么填写:/target/xxx.jar
  • 如果是多层级目录则需要填写完整路径如果:/xxxx/target/xxxx.jar
  • 构建 vue 项目成功后会生成 dist 目录,那么直接填写 dist 即可

这里可以添加文件夹或者文件,如果填写文件夹则会自动发布整个文件到对应位置,如果填写文件则只发布对应到文件

产物目录目前支持模糊匹配: 支持通配符(AntPathMatcher)

  • ? 匹配一个字符
  • * 匹配零个或多个字符
  • ** 匹配路径中的零个或多个目录

模糊匹配示例:/target/xxx-1.0.?.jar、/target/*.jar

注意:目前模糊匹配只会匹配到一个结果,如果匹配到多个结果将取第一个结果

# 模糊匹配规则

注意

2.10.14 版本以上支持更丰富的模糊匹配规则

新版本匹配符支持配置三个属性:

属性1:属性2[可选]:属性3[可选]

属性1:为模糊匹配的表达式 ( Ant-style )

属性2:匹配到的文件保留方式,可用值:KEEP_DIR、SAME_DIR。(大小写均兼容、配置错误默认为 KEEP_DIR)

KEEP_DIR: 保留匹配到的文件的文件层级

SAME_DIR: 将匹配到的文件均保留到同一个层级(合并到一个文件夹下)。慎用该方式,如果多目录存在相同的文件名会出现合并后只保留匹配到的最后一个文件

属性3: 需要剔除匹配到多级文件夹的指定目录,(可以配置为空)。建议配合属性2的KEEP_DIR使用。剔除目录可以理解为二次过滤前缀匹配文件

# 🌰 举个栗子

# 栗子1: /web*/**/*.html:KEEP_DIR:/web2/

表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且保留文件夹层级关系,最后发布时候需要剔除 /web2/

假设:目录下有如下文件

/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
1
2
3
4
5
6

执行匹配后的文件

a.html
/b/a.html
1
2

# 栗子2: /web*/**/*.html:SAME_DIR:

表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且合并文件到同一个目录,最后发布时候需要剔除 /web2/

假设:目录下有如下文件

/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
1
2
3
4
5
6

执行匹配后的文件

web1.html
a.html
t.html
1
2
3

# 栗子3: /web*/**/*.html:KEEP_DIR:

表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且保留文件夹层级关系,最后发布时候按照原目录结构发布

假设:目录下有如下文件

/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
1
2
3
4
5
6

执行匹配后的文件

/web/web1.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
1
2
3
4
帮助我们改善此文档 (opens new window)
上次更新: 2023/02/24, 17:06:26
命令相关
更多说明

← 命令相关 更多说明→

最近更新
01
2023年
03-31
02
2022年
03-31
03
2021年
03-31
更多文章>
Theme by Vdoing | Copyright © 2017-2023 MIT License  京ICP备17044819号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×