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
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. -
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
-
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 deUnfinished
paraPublished
fazendo o upload de um arquivomaven-metadata.xml
em seu pacote ou chamando a API UpdatePackageVersionsStatus para alterar o status.-
Opção 1: use o comando
curl
a seguir para adicionar um arquivomaven-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>
-
Opção 2: atualize o status do pacote para
Published
com a APIUpdatePackageVersionsStatus
.aws codeartifact update-package-versions-status \ --domain
my_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 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.