Empuje a Nexus Usando Leiningen
-
28-09-2019 - |
Pregunta
Me escribió un proyecto Clojure usando Leiningen y ahora quiere añadir el frasco resultante a un servidor Sonatype Nexus. He instalado Lein-clojars, ya que este viene con un comando push
que parece aceptar una Arg repo
opcional si quisiera empujar en otro lugar que Clojars. Sin embargo, cada vez que intento esto, aparece un JSchException: Auth fail
. Parece indicar que hay un problema en alguna parte autenticación.
Soy capaz de scp del frasco para Nexus, y yo también soy capaz de utilizar esta misma settings.xml con Maven para subir a esta máquina, así que estoy bastante seguro de que son ambas correctas.
¿Hay alguna manera bueno utilizar Leiningen a empujar a otros repositorios? ¿O es que realmente sólo construido para Clojars?
Solución
Un cambio relevante de los correos electrónicos que sucedió hace poco tiempo en el grupo de Leiningen Google; ver este mensaje por Phil Hagelberg por la respuesta.
En resumen, es aparentemente imposible utilizar claves DSA en la JVM. No estoy seguro de si / cómo Maven encuentra posible para hacer frente a esto, pero en todo caso, lein-clojars
no lo hace. Por lo tanto, sólo debe atenerse a scp
lugar.
(Por cierto, esto también significa que lein-clojars
no es muy recomendable para hacer frente a Clojars bien. Además, estoy bastante seguro de que me falta alguna parte de la imagen, ya que al parecer es utiliza para trabajar con Clojars. lo único que estoy bastante seguro de que es Leiningen no será de mucha ayuda en el impulso a pases protegidas en este momento y que el mensaje que he vinculado al anterior es lo más cercano a una explicación autorizada de por qué esto es que caso como cualquier cosa.)
Otros consejos
Para el registro, Leiningen 1.5 ahora tiene una tarea de despliegue que puede empujar a los repositorios de Maven como Nexus y Archiva a través de https: https://github.com/technomancy/leiningen/blob/master/src/leiningen/deploy.clj
Si usted está empujando a un verdadero repositorio de Maven, usted es probablemente mejor utilizando Maven para la implementación. Hay una buena Clojure plugin: http://github.com/talios/clojure-maven-plugin