Usar o CodeArtifact com deps.edn - CodeArtifact

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.

  1. Em settings.xml, adicione uma seção <servers> com uma referência à variável de ambiente CODEARTIFACT_AUTH_TOKEN para 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>
  2. Se você ainda não tiver um, gere um POM xml para seu projeto usando clj -Spom.

  3. No seu arquivo de configuração deps.edn, adicione um repositório que corresponda ao ID do servidor do Maven settings.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.deps garante que os repositórios central e clojars sejam verificados primeiro para as bibliotecas do Maven. Depois disso, os outros repositórios listados em deps.edn serão verificados.

    • Para evitar o download direto do Clojars e do Maven Central, central e clojars precisam ser configurados como nil.

    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.edn serão obtidas do CodeArtifact.

    nota

    Para usar um endpoint de pilha dupla, use o endpoint codeartifact.region.on.aws.

Publicar artefatos

  1. Atualize suas configurações do Maven e deps.edn para incluir o CodeArtifact como um servidor reconhecido pelo Maven (consulte Buscar dependências). Você pode usar uma ferramenta como deps-deploy para fazer upload de artefatos no CodeArtifact.

  2. No seu build.clj, adicione uma tarefa deploy para carregar os artefatos necessários no repositório codeartifact configurado 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"}))
  3. 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 no Clojure Deps e Lógica da referência da CLI.