2014-04-11 16 views
5

Ich konnte nicht auf zwei Repositories (ext-releases-local und repo1-cache) auf einem Artifactory-Server auflösen. Mein Build scheint nur gegen das letzte Repository in der Liste aufzulösen und ignoriert das erste. Grundsätzlich habe ich die Abhängigkeiten meines Projekts in ext-releases-local, und ihre transitiven Abhängigkeiten befinden sich im Repository repo1-cache. Also muss ich beide gegen das Artifactory Gradle-Plugin entscheiden. Hier ist die Einrichtung, die ich in meinem build.gradle versucht:Ist es möglich, mehrere Repos in einem Auflösungsabschluss für das Artifactory Gradle Plugin zu haben?

artifactory { 
    contextUrl = "https://myartifactory.host.com" 
    publish { 
    repository { 
     repoKey = "myproj-releases-local" 
     username = "${artifactory_deployer_user}" 
     password = "${artifactory_deployer_password}" 
    } 
    } 
    resolve { 
    repository { 
     repoKey = "repo1-cache" 
     username = "${artifactory_reader_user}" 
     password = "${artifactory_reader_password}" 
    } 
    repository { 
     repoKey = "ext-releases-local" 
     username = "${artifactory_reader_user}" 
     password = "${artifactory_reader_password}" 
    } 
    } 
} 

Ich würde schätzen jede Hilfe/Beratung zu bekommen dies funktioniert. Es gibt keine Dokumentation auf der Website von jfrog, die Auskunft darüber gibt, ob die Auflösung von zwei Repos unterstützt wird oder nicht. Es ist definitiv möglich, dies ohne das Artifactory Gradle Plugin zu tun, aber leider werde ich über Bamboo bauen, und das Artifactory Gradle Plugin wurde für das Release Management notwendig.

Antwort

11

Von dem, was ich sagen kann, wird dies nicht unterstützt. Sie können jedoch immer ein virtuelles Repository auf der Artifactory-Seite erstellen, die ext-releases-local und repo1-cache enthält. (Es gibt auch ein vordefiniertes virtuelles Repository mit dem Namen /repo, das alle Repositories enthält.) Als ein netter Nebeneffekt wird dies wahrscheinlich besser sein, als zwei Repositorys auf der Gradle-Seite zu deklarieren.

+1

Das ist 100% richtige Antwort (@shane, können Sie gerne akzeptieren und wählen). Bitte beachten Sie, dass die Verwendung des virtuellen Repository/repo nicht empfohlen wird. – JBaruch

+0

Vielen Dank. Ich glaube, dass das virtuelle Repository '/ Repo' alles enthält, was ich lösen muss. Ich kann jedoch keine Artefakte daraus finden. Ich glaube, das ist ein Konfigurationsproblem: Ich brauche ein Admin-Set. ** Artefakte-Anfragen können entfernte Artefakte ** für '/ repo' abrufen. Nur zum Lernen, warum, ist die Auflösung zu '/ Repo' nicht ratsam - @JBaruch? – Shane

+0

Es wird nicht empfohlen, '/ repo' zu verwenden, da dies den Zweck unterschiedlicher Repositories - Snapshots vs. Staging vs. Releases - vereitelt. Sie können keine Releasepipeline erstellen, indem Sie '/ repo' verwenden, da jeder auf alles zugreifen kann und Artefaktpromotion dann keinen Sinn macht. – JBaruch

Verwandte Themen