Artifactory 仅在版本级目录中复制工件

Artifactory 仅在版本级目录中复制工件,artifactory,Artifactory,本地存储库Repo A中的工件部署被强制使用用户插件控制在GAVC布局中 我们希望通过将产品发布的工件复制到另一个Repo B存储库来区分它们 如何限制复制只发生在GAVC GroupId/ArtifactId/version/Classifier结构中的版本级目录中 下面的代码用于限制GroupId/ArtifactId文件夹级别的任何副本 beforeCopy { item, targetRepoPath, properties -> if (item.repoKey.equa

本地存储库Repo A中的工件部署被强制使用用户插件控制在GAVC布局中

我们希望通过将产品发布的工件复制到另一个Repo B存储库来区分它们

如何限制复制只发生在GAVC GroupId/ArtifactId/version/Classifier结构中的版本级目录中

下面的代码用于限制GroupId/ArtifactId文件夹级别的任何副本

beforeCopy { item, targetRepoPath, properties ->
    if (item.repoKey.equals("RepoA")){
        if (item.repoPath.isFolder()){
                                def lastChild = repositories.getChildren(item.repoPath).last().repoPath
                                def childLayoutInfo = repositories.getLayoutInfo(lastChild)
                                String childGroupId = childLayoutInfo.getOrganization()
                                String childArtifactId = childLayoutInfo.getModule()
                                String childVersionId = childLayoutInfo.getBaseRevision()

                                if ( "${childGroupId}" == "null" || "${childArtifactId}" == "null" || "${childVersionId}" == "null" ) {
                                                throw new CancelException("Copy not permitted at this level")
                                }
        }
    }
}

我还想限制在文件/分类器级别直接触发的复制请求。

我不确定您要求什么。拥有layoutInfo后,为什么不能检查目录结构是否与version元素匹配?分类器是否是路径组/工件/版本/分类器的一部分?如果是这样,您使用的是自定义布局吗?@JBaruch-我有目录结构,但是,我无法在version元素上限制复制触发。如果我限制检查副本是否在版本级别,它也会限制递归副本。@JBaruch-如果我允许在版本元素下进行复制,那么我就无法控制在文件/工件级别触发的复制请求。@JBaruch-有没有办法,我可以捕获触发初始复制请求的位置。我知道我可以通过下载事件实现这一点,存储事件中的请求是否也可用?