Empurre para o Nexus usando Leiningen
-
28-09-2019 - |
Pergunta
Escrevi um projeto de clojure usando Leiningen e agora gostaria de adicionar o frasco resultante a um servidor Sonatype Nexus. Eu instalei Lein-Clojars, já que isso vem com um push
comando que parece aceitar um opcional repo
Arg se você gostaria de empurrar em algum lugar além de Clojars. No entanto, sempre que eu tento isso, eu recebo um JSchException: Auth fail
. Parece indicar que há um problema de autenticação em algum lugar.
Sou capaz de SCP o frasco para o Nexus e também sou capaz de usar essas mesmas configurações.xml com o Maven para fazer upload para esta máquina, por isso estou bastante confiante de que ambos estão corretos.
Existe alguma boa maneira de usar o Leiningen para empurrar para outros repositórios? Ou é realmente construído apenas para clojars?
Solução
Uma troca relevante de e-mails aconteceu há pouco tempo no Leiningen Google Group; Vejo esta mensagem por Phil Hagelberg para a resposta.
Em suma, é aparentemente impossível usar as teclas DSA na JVM. Não tenho certeza se/como Maven acha possível lidar com isso, mas de qualquer forma, lein-clojars
não. Então, você deve ficar scp
em vez de.
(Aliás, isso também significa que lein-clojars
Também não é realmente recomendado para lidar com Clojars. Além disso, tenho certeza de que estou perdendo alguma parte da foto, já que aparentemente usado trabalhar com clojars. A única coisa que tenho certeza é que Leiningen não será muito ajuda para pressionar para os repositórios protegidos neste momento e que a mensagem a que vinculei acima é o mais próximo de uma explicação autorizada de por que esse é esse caso como qualquer coisa.)
Outras dicas
Para o registro, o Leiningen 1.5 agora possui uma tarefa de implantação que pode pressionar para os repositórios do MAVEN como Nexus e Archiva sobre HTTPs: https://github.com/technomancy/leiningen/blob/master/src/leiningen/deploy.clj
Se você está pressionando para um repositório real do Maven, provavelmente é melhor usar o Maven para implantação. Há um bom plugin de clojure: http://github.com/talios/clojure-maven-plugin