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
-
É 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.
-
Use o seguinte comando
curlpara publicar o JAR em um repositório do CodeArtifact:Em cada um dos comandos
curldesse procedimento, substitua os seguintes espaços reservados:Substitua
my_domainpelo seu nome de domínio do CodeArtifact.Substitua
111122223333pelo ID do proprietário do seu domínio do CodeArtifact.Substitua
us-west-2pela região na qual seu domínio do CodeArtifact está localizado.Substitua
my_repopelo 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.jarImportante
Você deve prefixar o valor do parâmetro
--data-binarycom um caractere@. Ao colocar o valor entre aspas,@deve ser incluído entre aspas. -
Use o seguinte comando
curlpara 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 -
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 estadoPublished. Você pode mover o pacote deUnfinishedparaPublishedfazendo o upload de um arquivomaven-metadata.xmlem seu pacote ou chamando a API UpdatePackageVersionsStatus para alterar o status.-
Opção 1: use o comando
curla seguir para adicionar um arquivomaven-metadata.xmlao 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.xmlUm 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> -
Opção 2: atualize o status do pacote para
Publishedcom a APIUpdatePackageVersionsStatus.aws codeartifact update-package-versions-status \ --domainmy_domain\ --domain-owner111122223333\ --repositorymy_repo\ --format maven \ --namespacecom.mycompany.app\ --packagemy-app\ --versions1.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 do 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.