Publicación con curl - CodeArtifact

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
  1. 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.

  2. Utilice el siguiente comando curl para publicar el JAR en un repositorio de CodeArtifact:

    En cada uno de los comandos curl de este procedimiento, sustituya los siguientes marcadores de posición:

    • Sustituya my_domain por su nombre de dominio de CodeArtifact.

    • Sustituya 111122223333 por el ID del propietario de su dominio CodeArtifact.

    • Sustituya us-west-2 por la región en la que reside su dominio de CodeArtifact.

    • Sustituya my_repo por 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.jar
    importante

    Debe anteponer el valor del parámetro --data-binary con un carácter @. Al escribir el valor entre comillas, @ debe incluirse dentro de las comillas.

  3. Utilice el siguiente comando curl para 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
  4. 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 estado Published. Puede mover el paquete de Unfinished a Published cargando un archivo maven-metadata.xml en el paquete o llamando a la API UpdatePackageVersionsStatus para cambiar el estado.

    1. Opción 1: use el siguiente comando curl para añadir un archivo maven-metadata.xml al 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.xml

      El 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>
    2. Opción 2: actualice el estado del paquete a Published con la 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

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.