Я использую Artifactory (размещенная версия) для хранения некоторых cpp библиотек, которые мы создаем для нескольких платформ.
Мы используем простой репозиторий с пользовательским макетом, настроенным следующим образом:
Artifact Path Pattern: [org]/[module]/[folderItegRev]/[baseRev]/[platform<macos|linux64|win32|win64|ios|android>]/[module]-[baseRev]-[build<linux64(?:[^-]*)|macos|win32_vs20(?:[0-9]{2})|win64_vs20(?:[0-9]{2})|ios|android(?:[^-]*)>](-[fileItegRev]).[ext]
Folder Integration Revision RegExp:
release|nightly|mr
File Integration Revision RegExp:
r[a-z0-9]+
Мне трудно понять, почему, если я загружаю пакет с именем, подобным
myproj/modulename/release/4.6.0/win32/mylib-4.6.0-win32_vs2010-r63c86bd.zip
, тогда артефакт (хотя артефакт хранится в иерархии правильных путей) из web gui не показывает действительный идентификатор модуля , который отображается как N / A вместо
, а если я загружаю пакет, такой как this one:
myproj/modulename/release/4.6.0/macos/mylib-4.6.0-macos-r63c86bd.zip
тогда я получаю идентификатор модуля значение myproj: module: 4.6.0-r63c86bd
Это раздражает, потому что те с * Значение 1026 * N / A , по-видимому, не относится к числу граждан первого класса, и поэтому его нельзя удалить при очистке старых версий.
Полагаю, что-то не так с моим регулярным выражением или с конфигурацией макета, поскольку правильно загружены только те артефакты, ios и macos , единственные, где платформа такая же, как у build пользовательских заполнителей, все остальные сборки например:
- win32_vs2010
- win32_vs2017
- android_arm64
- linux64_Ubuntu_18.04
et c .