Артефактный локальный репозиторий с проблемой развертывания пользовательского макета - PullRequest
2 голосов
/ 29 января 2020

Я использую 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 .

...