Utiliser SBT derrière un proxy d’entreprise

J’essaye depuis quelques temps de faire fonctionner SBT derrière un proxy d’entreprise ( avec authentification) . Vu que je ne veux pas polluer le serveur NEXUS existant, j’ai essayé de tout faire un local …. et là c’est le drame.

g1366824328707416474

Jusqu’à présent, j’utilisais MAVEN et le plugin SCALA pour répondre aux besoins du BUILD. J’ai néanmoins trouvé une autre solution, tout aussi sale…. Installer un serveur NEXUS sur le poste de travail et s’en servir comme proxy « intelligent ».

J’ai fait la configuration suivante :

Dessin1

Je ne vais pas décrire ici l’installation de nexus tellement c’est simple.

Dans la configuration de nexus, le proxy se configure assez simplement dans la partie server

J’ai ajouté les virtual repositories suivants :

  • ivy-releases-1: https://dl.bintray.com/sbt/sbt-plugin-releases/?utm_source=rss&utm_medium=rss
  • ivy-releases-2: https://dl.bintray.com/typesafe/ivy-releases/?utm_source=rss&utm_medium=rss
  • mvn-typesafe-release-1: http://repo.typesafe.com/typesafe/maven-releases/?utm_source=rss&utm_medium=rss
  • mvn-typesafe-release-2: http://repo.typesafe.com/typesafe/releases/?utm_source=rss&utm_medium=rss

et crée deux groupes l’un pour les repo ivy (ivy-releases) et l’autre pour maven (mvn-releases)

Enfin, comme l’indique la documentation, j’ai configuré le fichier ~.sbt/repositories de la manière suivante :

[repositories]
  local
  my-ivy-proxy-releases: http://127.0.0.1:8081/nexus/content/groups/ivy-releases/,?utm_source=rss&utm_medium=rss [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  my-maven-proxy-releases: http://127.0.0.1:8081/nexus/content/groups/mvn-releases/?utm_source=rss&utm_medium=rss

Enfin, lorsque vous exécutez sbt, celui-ci utilisera automatiquement votre proxy NEXUS qui lui est capable de discuter avec un proxy d’entreprise.

En espérant que ça serve à d’autres…

Vus : 1086
Publié par Littlewing : 368