x射线:如何配置在特定类型的存储库中可以扫描的文件类型
如何配置?
x射线会自动识别存储库类型,并能自动识别可扫描的文件扩展名中的存储库类型。例如,如果您将jar文件上传到docker存储库,在默认情况下,jar文件无法被扫描。
那么x射线是如何控制它的呢?这篇文章会让你知道。
在完成Xray安装并第一次启动它之后,将出现如下所示的四个路径。JFROG_HOME / var / etc /美元持续下去在每个路径中,您将找到三个配置文件。
美元JFROG_HOME / var / etc /服务器
美元JFROG_HOME / var / etc /索引器
美元JFROG_HOME / var / etc /分析archive_extensions.json
filters.json
pkg_support.json
配置文件是什么?
archive_extensions.json
这个配置文件定义了压缩类型和文件扩展名之间的匹配。目前,Xray可以解压缩zip、tar和7z。如果具有其他扩展名的文件使用这三种压缩方法之一,则可以在此文件中添加新的压缩类型关联,之后Xray可以解压缩此扩展名。{filters.json
“版本”:“1.0”,
“archiveExtension”:(
{
“名称”:“zip”,
“namePattern ": ".*[.]( 现病史jar耳朵战争| | | | epk | cpa) $”
},
{
“名称”:“焦油”,
“namePattern ": ".*[.]( tar.gz | tar.xz | tgz) $”
},
{
“名称”:“7 z”,
“namePattern ": ".*[.]( 7 z) $”
}
]
}
这个配置文件定义了语言和文件扩展名之间的匹配。{pkg_support.json
“版本”:“1.1”,
“fileScanning”:(
{
“名称”:“Java”,
“namePattern ": ".*[.]( jar耳朵战争| | | rar | sar | hpi | jpi | apk | epk) $”
},
{
“名称”:“压缩”,
“namePattern ": ".*[.]( 焦油| tgz | tar.gz | tar.gzip | tar.bz2 | tar.bz | tar.xz |邮政| tar.infl | tar.Z | tar.xp3 | 7 z) $”
},
{
“名称”:“技术”,
“namePattern ": ".*[.]( nupkg | deb | rpm | |宝石蛋| js | whl) $”
},
{
“名称”:“文本”,
“namePattern”:“(清单| build-info | release-bundle-info) . json | metadata.gz $”
}
]
}
这个配置文件定义了存储库类型和文件扩展名之间的匹配。{下面是使用这些文件的示例。
“supported_package_types”:(
{
“类型”:“专家”,
“扩展”:(
…
]
},
{
“类型”:“它”,
“扩展”:(
…
]
},
{
“类型”:“常春藤”,
“扩展”:(
…
]
},
{
“类型”:“sbt”,
“扩展”:(
…
]
}
…
]
}
示例1:让docker存储库支持'.jar'文件。
改变的pkg_support.json”对于docker类型如下所示。{
“类型”:“码头工人”,
“扩展”:(
{
“扩展”:“manifest.json”,
“is_file”:真的
},
{//在这里添加新的扩展名。
“扩展”:" . jar "
}
]
}
示例2:如何支持另一个扩展文件,如.aar?
首先:我们需要定义特殊的扩展属于哪个类型。就像'。aar', it belongs to '.zip' so we can use the zip to decompress it.
加上'。aar' to the archive_extension.json.
{其次:我们还需要定义这个扩展属于哪种语言,然后我们像扫描其他文件一样扫描它。
“版本”:“1.0”,
“archiveExtension”:(
{
“名称”:“zip”,
“namePattern ": ".*[.]( 现病史jar耳朵战争| | | | epk | |会计师公会aar) $”//在这里添加aar
},
{
“名称”:“焦油”,
“namePattern ": ".*[.]( tar.gz | tar.xz | tgz) $”
},
{
“名称”:“7 z”,
“namePattern ": ".*[.]( 7 z) $”
}
]
}
像”。aar', it usually belongs to JAVA so we need to add the 'aar' in filters.json.{第三:我们还需要将扩展名添加到'pkg_support '中的目标存储库类型中。那么Maven或Gradle存储库就可以对aar文件进行扫描。
“版本”:“1.1”,
“fileScanning”:(
{
“名称”:“Java”,
“namePattern ": ".*[.]( jar耳朵战争| | | rar | sar | hpi | jpi | apk | epk |aar) $”//在这里添加aar
},
{
“名称”:“压缩”,
“namePattern ": ".*[.]( 焦油| tgz | tar.gz | tar.gzip | tar.bz2 | tar.bz | tar.xz |邮政| tar.infl | tar.Z | tar.xp3 | 7 z) $”
},
{
“名称”:“技术”,
“namePattern ": ".*[.]( nupkg | deb | rpm | |宝石蛋| js | whl) $”
},
{
“名称”:“文本”,
“namePattern”:“(清单| build-info | release-bundle-info) . json | metadata.gz $”
}
]
}{
“supported_package_types”:(
{
“类型”:“专家”,
“扩展”:(
…
{//在这里添加aar
“扩展”:. aar”
}
]
},
{
“类型”:“它”,
“扩展”:(
…
{//在这里添加aar
“扩展”:. aar”
}
]最后:请重新启动您的Artifactory和x射线,使其有效。
},
…
]
}
(注意:确保所有四个路径中的配置文件都已更新)
