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

时间:2014-11-11 22:51:38

标签: artifactory

本地存储库(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")
                                }
        }
    }
}

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

0 个答案:

没有答案