2015-09-28 6 views
7

Ich habe eine Instanz von Artifactory (4.1.2) eingerichtet, mit der ich Java-Artefakte speichern kann. Ich schiebe Artefakte auf die Instanz des gradle Plugin konfiguriert, wie untenVerhindern des Überschreibens von Bereitstellungen mithilfe von Artefakten

artifactory { 
    contextUrl = 'http://example.com/artifactory' 
    publish { 
     repository { 
      // The Artifactory repository key to publish to 
      repoKey = 'libs-release-local' 

      username = artifactory_username 
      password = artifactory_password 
     } 
     defaults { 
      publications('releaseJar') 
     } 
    } 
} 

Ich möchte bereits im Einsatz Artefakte von Version verhindern können, zu überschreiben. Dies scheint eine gemeinsame Anfrage zu sein und die docs sagen

Sie einen Benutzer oder eine Gruppe eine bereitgestellte Release oder einzigartige Momentaufnahme vor dem Überschreiben durch nicht die Gewährung der Berechtigung Löschen verhindern. Nicht eindeutige Snapshots können immer überschrieben werden (vorausgesetzt, die Deploy-Berechtigung ist erteilt).

Ich habe jedoch einen deploy Benutzer einrichten, die 1 | CanDeploy in Gruppen 1 | deployers mit entsprechenden Berechtigungen.

Die CanDeploy Berechtigung hat Deploy/Cache Berechtigungen nur für die deployers Gruppe.

Jedoch! Ich kann das deployed Artefakt zu meinem Herzen Inhalt mit gradle artifactoryPublish überschreiben.

Jede Beratung wäre dankbar empfangen :)

EDIT: Da diese Frage die Funktionalität arbeiten begonnen hat, wie gewünscht. Das ist sehr merkwürdig, da ich die Artefakt-Einstellungen überhaupt nicht geändert habe, aber jetzt 403 zurückgebe, wenn ich versuche, ein Artefakt mit derselben Versionsnummer hochzuladen, die bereits bereitgestellt wurde. Ich kann nur vermuten, dass etwas seltsam ist, was die Zwischenspeicherung von Zugriffsberechtigungen angeht oder etwas, was dazu führt, dass meine Änderungen über das Web-UI für ein oder zwei Tage nicht wirksam werden - entnervend, aber derzeit funktioniert es. Wird für den Moment Fragen stellen, während ich sicherstelle, dass es funktioniert!

Antwort

3

Der einfachste Weg, die Berechtigungen zu überprüfen, befindet sich auf der Registerkarte "Effektive Berechtigungen" in der Browser-Benutzeroberfläche. Wenn Sie das "releaseJar" -Repo auswählen, wenn Sie die Berechtigung "delete" für den Benutzer "deploy" aktiviert haben, haben Sie möglicherweise ein anderes Berechtigungsziel, das diesem Benutzer die Löschberechtigung erteilt. Sie können die Liste der von einem einzelnen Benutzer verwendeten Berechtigungsziele auf der Seite "Benutzer" anzeigen. Hoffe, das hilft.

+1

Thx für die Antwort - der Deploy-Benutzer nur als die "Deploy/Cache" Perm aktiviert. Aber das hat jetzt angefangen zu arbeiten. Bitte beachten Sie die Bearbeitungsfrage. – Dori