Wie verwenden von Umgebungsvariablen erstellen.sbt?

Möchte ich, Umgebungsvariablen zu verwenden, um an meinem repo-Anmeldeinformationen bei Verwendung gebaut.sbt.

Ich habe versucht, Dinge wie diese, aber die details nicht abgeholt.

credentials += Credentials("Some Nexus Repository Manager", "my.artifact.repo.net", System.getenv("USERNAME"), System.getenv("PASSWORD"))

Ich habe auch versucht, eine credentials-Datei unter ~/.sbt/aber ich bin mir nicht sicher, wie Sie Sie zum hinzufügen von Umgebungsvariablen, die.

Wenn ich tippe einfach meinen Benutzernamen und mein Passwort in der Regel in der credentials-Datei, es funktioniert so weiß ich, dass die log-in Daten sind ok.

Zusätzlich:
Ich Quelle die environment vars in eine shell vor der Ausführung von sbt kompilieren.

Läuft

credentials += Credentials("Realm", "my.artifact.repo.net", sys.env("USERNAME"), sys.env("PASSWORD"))

Ergebnisse in einer Verbotenen url-Fehler.

Soll ich sagen, ich bin stecken versucht, Abhängigkeiten aufzulösen

UPDATE:
Im Folgenden gibt Sie den richtigen Wert

eval scala.sys.env("ARTIFACTORY_USERNAME")

Aber wenn ich das in mein script

val username = scala.sys.env("ARTIFACTORY_USERNAME")
val password = scala.sys.env("ARTIFACTORY_PASSWORD")
credentials += Credentials("Artifactory Realm", "artifactory.link.io", username, password)

resolvers ++= Seq(
"Artifactory Snapshot" at "https://artifactory.link.io/art/libs-snapshot"
)

oder

credentials += Credentials("Artifactory Realm", "my.artifact.repo.net", sys.env("ARTIFACTORY_USERNAME"), sys.env("ARTIFACTORY_PASSWORD"))   

Bekomme ich eine VERBOTENE URL-Fehler, das deutet darauf hin, dass die scala Teil läuft ok, aber für einige Grund die Zugangsdaten sind immer noch falsch. Wenn ich explizit festlegen der Anmeldeinformationen in der build.sbt-es funktioniert.

  • Sind Sie mit der environment-Variablen oder die JVM-Eigenschaften? Sind die Umgebungsvariablen in der shell? Wie funktioniert "nicht immer abgeholt", sich selbst auszudrücken, sind die Werte null?
  • Hinzugefügt einige Sachen, diese zu beantworten. Ich denke, die Werte sind null-basierend auf der Fehlermeldung
  • Sie können dies überprüfen. von Ihrem Skript ausführen sbt shell und geben Sie dann eval sys.env("USERNAME") und es sollte zeigen das Wert, wenn es vorhanden ist.
  • Ich kann den Benutzernamen und das Passwort mit dieser Methode. Aber mit den Anmeldeinformationen += Credentials("Reich", "my.artifact.repo.net", sys.env("USERNAME"), sys.env("PASSWORT")) führt zu einer [error] Unable to find Anmeldeinformationen für ["Realm" @ "my.artifact.repo.net",] Fehler
InformationsquelleAutor Glef | 2017-04-27
Schreibe einen Kommentar