2017-02-08 13 views
0

Запрашивается как относительный новичок в терминологии и семантике репо: У меня есть проект градиента, который создает файл jar Spring-Boot, а затем запускает файл проекта InstallAnywhere, чтобы упаковать банку как для службы Windows. Мне нужно опубликовать исполняемый файл установщика как SNAPSHOT. Я использую gradle artifactory плагин (а не artifactory-publish плагин, только потому, что я следую примеру сестра проекта).Публикация исполняемого двоичного кода как Maven SNAPSHOT в Artifactory

Артефакт публикуется в репозитории моментального снимка Maven, но замещающий «-SNAPSHOT» не заменяется меткой времени. Когда я добавляю исходный файл Jar в артефакты для публикации, файл Jar получает добавленную метку времени, но файл .exe все еще не работает. Соответствующий Gradle код следует, и версия проекта устанавливается на «1.0.0-Snapshot» в gradle.properties, наряду с другим показанным Artifactory свойства конфигурации:

task buildInstaller { 
    inputs.files cleanJarName.outputs 
    outputs.file installerFile 
    doLast { 
     project.exec { 
      workingDir 'InstallKit' 
      commandLine "${System.env.INSTALLANYWHERE_HOME}\\build.exe", 'MyInstallAnywhereProject.iap_xml', '-nupd' 
     } 
    } 
} 

artifactoryPublish { 
    dependsOn buildInstaller 
} 

configurations { 
    published 
} 

artifacts { 
    published installerFile 
} 

artifactory { 
    contextUrl = project.artifactoryContextUrl 
    publish { 
     repository { 
      repoKey = project.artifactoryPublishRepo 
      username = project.artifactoryUser 
      password = project.artifactoryPassword 
     } 
     defaults { 
      publishConfigs('published') 
      publishBuildInfo = true 
      publishArtifacts = true 
      publishPom = true 
      publishIvy = true 
     } 
    } 
    resolve { 
     repository { 
      repoKey = project.artifactoryResolveRepo 
      username = project.artifactoryUser 
      password = project.artifactoryPassword 
      maven=true 
     } 
    } 
} 

Так почему не Artifactory правильно SNAPSHOT в EXE-файл? Мы собирались посмотреть, было ли это ограничение репозиториев Maven только для обработки связанных с Java типов (jar, war, ear и т. Д.). Таким образом, мы рассмотрели создание другого репликации Artifactory для двоичных снимков с использованием типичного (?) Типа репо, но экраны конфигурации не предоставляют параметры моментального снимка, присутствующие в конфигурации репозитория Maven.

ответ

1

Терминология SNAPSHOT (на самом деле Интеграционная редакция) обязательна repository layouts.

Поскольку Artifactory вводит в действие single-typed repositories, вы считаете правильным, что Maven repo не будет обрабатывать версию файла .exe.

Использование общего репо - это правильный путь - но вам нужно определить свою собственную папку и файл integration revision, чтобы иметь на нем Artifactory.