Usar o CodeArtifact com deps.edn
É possível usar deps.edn com clj para gerenciar dependências para projetos do Clojure. Esta seção mostra como configurar o deps.edn para usar um repositório do CodeArtifact.
Buscar dependências
Para configurar o Clojure para buscar dependências de um repositório do CodeArtifact, você deve editar o arquivo de configuração do Maven, settings.xml.
-
Em
settings.xml, adicione uma seção<servers>com uma referência à variável de ambienteCODEARTIFACT_AUTH_TOKENpara que o Clojure passe o token nas solicitações HTTP.nota
O Clojure supõe que o arquivo settings.xml esteja localizado em
~/.m2/settings.xml. Se estiver em outro lugar, crie o arquivo nesse local.<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings> Se você ainda não tiver um, gere um POM xml para seu projeto usando
clj -Spom.No seu arquivo de configuração
deps.edn, adicione um repositório que corresponda ao ID do servidor do Mavensettings.xml.:mvn/repos { "clojars" nil "central" nil "codeartifact" {:url "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/"} }nota
-
tools.depsgarante que os repositórioscentraleclojarssejam verificados primeiro para as bibliotecas do Maven. Depois disso, os outros repositórios listados emdeps.ednserão verificados. -
Para evitar o download direto do Clojars e do Maven Central,
centraleclojarsprecisam ser configurados comonil.
Verifique se você tem o token de autenticação do CodeArtifact em uma variável de ambiente (consulte Passar um token de autenticação usando uma variável de ambiente). Ao criar o pacote após essas alterações, as dependências em
deps.ednserão obtidas do CodeArtifact.nota
Para usar um endpoint de pilha dupla, use o endpoint
codeartifact..region.on.aws-
Publicar artefatos
-
Atualize suas configurações do Maven e
deps.ednpara incluir o CodeArtifact como um servidor reconhecido pelo Maven (consulte Buscar dependências). Você pode usar uma ferramenta como deps-deploypara fazer upload de artefatos no CodeArtifact. No seu
build.clj, adicione uma tarefadeploypara carregar os artefatos necessários no repositóriocodeartifactconfigurado anteriormente.(ns build (:require [deps-deploy.deps-deploy :as dd])) (defn deploy [_] (dd/deploy {:installer :remote :artifact "PATH_TO_JAR_FILE.jar" :pom-file "pom.xml" ;; pom containing artifact coordinates :repository "codeartifact"}))Publique o artefato executando o comando:
clj -T:build deploy
Para obter mais informações sobre a modificação de repositórios padrão, consulte Modificar repositórios padrão