Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Publicación con curl
En esta sección se muestra cómo utilizar el cliente HTTP curl para publicar artefactos de Maven en un repositorio de CodeArtifact. Publicar artefactos con curl puede resultar útil si no tiene o no desea instalar el cliente Maven en sus entornos.
Publicación de un artefacto de Maven con curl
-
Obtenga un token de autorización de CodeArtifact siguiendo los pasos descritos en Pasar un token de autenticación mediante una variable de entorno y vuelva a estos pasos.
-
Utilice el siguiente comando
curlpara publicar el JAR en un repositorio de CodeArtifact:En cada uno de los comandos
curlde este procedimiento, sustituya los siguientes marcadores de posición:Sustituya
my_domainpor su nombre de dominio de CodeArtifact.Sustituya
111122223333por el ID del propietario de su dominio CodeArtifact.Sustituya
us-west-2por la región en la que reside su dominio de CodeArtifact.Sustituya
my_repopor el nombre de su repositorio de 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
Debe anteponer el valor del parámetro
--data-binarycon un carácter@. Al escribir el valor entre comillas,@debe incluirse dentro de las comillas. -
Utilice el siguiente comando
curlpara publicar el POM en un repositorio de 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 -
En este punto, el artefacto Maven estará en su repositorio de CodeArtifact con un estado de
Unfinished. Para poder consumir el paquete, debe estar en el estadoPublished. Puede mover el paquete deUnfinishedaPublishedcargando un archivomaven-metadata.xmlen el paquete o llamando a la API UpdatePackageVersionsStatus para cambiar el estado.-
Opción 1: use el siguiente comando
curlpara añadir un archivomaven-metadata.xmlal paquete: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.xmlEl siguiente ejemplo muestra el contenido de un archivo
maven-metadata.xml:<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> -
Opción 2: actualice el estado del paquete a
Publishedcon la 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
-
Si solo tiene el archivo JAR de un artefacto, puede publicar una versión de paquete consumible en un repositorio de CodeArtifact utilizando mvn. Esto puede resultar útil si no tiene acceso al código fuente o al POM del artefacto. Para obtener más información, consulte Publicación de artefactos de terceros.