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 CodeArtifact repositorio. 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
-
Para obtener un token de CodeArtifact autorización, sigue los pasos que se indican Pasar un token de autenticación mediante una variable de entorno y vuelve a ellos.
-
Usa el siguiente
curlcomando para publicar el JAR en un CodeArtifact repositorio:En cada uno de los comandos
curlde este procedimiento, sustituya los siguientes marcadores de posición:my_domainSustitúyalo por tu nombre de CodeArtifact dominio.111122223333Sustitúyelo por el ID del propietario de su CodeArtifact dominio.us-west-2Sustitúyelo por la región en la que se encuentra tu CodeArtifact dominio.my_repoSustitúyalo por el nombre de tu CodeArtifact repositorio.
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. -
Usa el siguiente
curlcomando para publicar el POM en un CodeArtifact repositorio: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 tu CodeArtifact repositorio con un estado de.
UnfinishedPara poder consumir el paquete, debe estar en el estadoPublished. Puedes mover el paquete deUnfinishedaPublishedsubiendo unmaven-metadata.xmlarchivo a tu paquete o llamando a la UpdatePackageVersionsStatus API 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 tienes el archivo JAR de un artefacto, puedes publicar una versión del paquete consumible en un CodeArtifact repositorio 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.