Publicar com curl - CodeArtifact

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Publicar com curl

Esta seção mostra como usar o cliente HTTP curl para publicar artefatos do Maven em um repositório do CodeArtifact. A publicação de artefatos com curl pode ser útil se você não tiver ou quiser instalar o cliente Maven em seus ambientes.

Publicar um artefato do Maven com curl
  1. É possível buscar um token de autorização do CodeArtifact seguindo as etapas em Passar um token de autenticação usando uma variável de ambiente e voltar para essas etapas.

  2. Use o seguinte comando curl para publicar o JAR em um repositório do CodeArtifact:

    Em cada um dos comandos curl desse procedimento, substitua os seguintes espaços reservados:

    • Substitua my_domain pelo seu nome de domínio do CodeArtifact.

    • Substitua 111122223333 pelo ID do proprietário do seu domínio do CodeArtifact.

    • Substitua us-west-2 pela região na qual seu domínio do CodeArtifact está localizado.

    • Substitua my_repo pelo nome do seu repositório do CodeArtifact.

    curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.jar \ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.jar
    Importante

    Você deve prefixar o valor do parâmetro --data-binary com um caractere @. Ao colocar o valor entre aspas, @ deve ser incluído entre aspas.

  3. Use o seguinte comando curl para publicar o POM em um repositório do CodeArtifact:

    curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.pom \ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.pom
  4. Nesse ponto, o artefato do Maven estará no seu repositório do CodeArtifact com o status de Unfinished. Para poder consumir o pacote, ele deve estar no estado Published. Você pode mover o pacote de Unfinished para Published fazendo o upload de um arquivo maven-metadata.xml em seu pacote ou chamando a API UpdatePackageVersionsStatus para alterar o status.

    1. Opção 1: use o comando curl a seguir para adicionar um arquivo maven-metadata.xml ao seu pacote:

      curl --request PUT https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/maven-metadata.xml \ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @maven-metadata.xml

      Um exemplo dos conteúdos em um arquivo maven-metadata.xml é mostrado a seguir:

      <metadata modelVersion="1.1.0"> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <versioning> <latest>1.0</latest> <release>1.0</release> <versions> <version>1.0</version> </versions> <lastUpdated>20200731090423</lastUpdated> </versioning> </metadata>
    2. Opção 2: atualize o status do pacote para Published com a API UpdatePackageVersionsStatus.

      aws codeartifact update-package-versions-status \ --domain my_domain \ --domain-owner 111122223333 \ --repository my_repo \ --format maven \ --namespace com.mycompany.app \ --package my-app \ --versions 1.0 \ --target-status Published

Se você tiver apenas o arquivo JAR de um artefato, poderá publicar uma versão de pacote consumível em um repositório CodeArtifact usando mvn. Isso pode ser útil se você não tiver acesso ao código-fonte do artefato ou ao POM. Para mais detalhes, consulte Publicar artefatos de terceiros.