Ajoutez des informations d'identification pour permettre à Travis-CI d'utiliser un référentiel Nexus privé

StackOverflow https://stackoverflow.com//questions/20013514

  •  21-12-2019
  •  | 
  •  

Question

J'utilise Travis pour l'intégration continue.Cependant, mes projets dépendent d'un référentiel Nexus privé.Je préfère ne pas enregistrer les informations d'identification sbt dans notre référentiel.Travis soutient clés de chiffrement mais ils n'affectent que les variables d'environnement.

Comment puis-je faire en sorte que Travis s'authentifie auprès de Nexus ? sbt ne semble pas prendre en charge les informations d'identification d'une variable d'environnement.

https://github.com/sbt/sbt/blob/0.13/launch/src/main/scala/xsbt/boot/Update.scala#L56

Il semble qu'il soit possible de spécifier un fichier d'informations d'identification à partir d'une variable d'environnement ou de spécifier des informations d'identification en tant que propriétés système.Malheureusement, cela ne semble pas fonctionner avec 0.13.

sbt -Dsbt.boot.realm="Sonatype Nexus Repository Manager" -Dsbt.boot.host="www.there.com" -Dsbt.boot.user="deployment" -Dsbt.boot.password="password" aether-deploy
Était-ce utile?

La solution

Vous pouvez définir des variables globales dans votre .travis.yml comme défini ici :http://docs.travis-ci.com/user/build-configuration/#Set-environment-variables

Ces variables globales peuvent être chiffrées pour Travis à l'aide de la gemme Travis.Expliqué par ex.ici:Comment utiliser le .travis.yml de travis-ci pour fournir des paramètres d'environnement pour l'application Node.js ?

Autres conseils

Vous souhaitez utiliser les variables d'environnement sécurisées Travis comme indiqué.En supposant que vos variables d'environnement sont NEXUS_USER et NEXUS_PASS, la ligne de commande doit être :

sbt 'set credentials += Credentials("Sonatype Nexus Repository Manager", "www.there.com", System.getenv("NEXUS_USER"), System.getenv("NEXUS_PASS"))' aether-deploy

Vous pouvez également avoir cette ligne en toute sécurité dans votre build.sbt, si vous vouliez en faire une pratique standard pour vos builds.

Le Module Jackson Scala l'utilise pour déployer les builds Travis dans le référentiel Sonatype OSS.Vous pouvez notre .travis.yml pour voir comment c'est mis en place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top