Publier avec curl - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Publier avec curl

Cette section explique comment utiliser le client HTTPcurlpour publier des artefacts Maven sur un CodeArtifact repository. Publication d'artefacts aveccurlpeut être utile si vous ne possédez pas ou ne souhaitez pas installer le client Maven dans vos environnements.

Publier un artefact Maven aveccurl
  1. Récupérez un CodeArtifact jeton d'autorisation en suivant les étapes décrites dansTransmettre un jeton d'authentification à l'aide d'une variable d'environnementet revenez à ces étapes.

  2. Utilisez ce qui suitcurlpour publier le fichier JAR sur un CodeArtifact repository :

    Dans chacun descurlDans cette procédure, remplacez les espaces réservés suivants :

    • Remplacezmon_domaineavec vos CodeArtifact nom de domaine.

    • Remplacez111122223333avec l'ID du propriétaire de votre CodeArtifact domaine.

    • Remplacezus-west-2avec la région dans laquelle vos activités CodeArtifact se trouve.

    • Remplacezmy_repoavec vos CodeArtifact nom du référentiel.

    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
    Important

    Vous devez préfixer la valeur du paramètre--data-binaryavec un paramètre@character. Lorsque vous placez la valeur de guillemets droits, le@doit être inclus dans les guillemets.

  3. Utilisez ce qui suitcurlpour publier le POM sur un CodeArtifact repository :

    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. À ce stade, l'artefact Maven sera dans votre CodeArtifact référentiel avec le statut deUnfinished. Pour pouvoir consommer l'emballage, il doit être dans lePublishedétat. Vous pouvez déplacer le colis depuisUnfinishedpourPublishedsoit en téléchargeant unmaven-metadata.xmldans votre package, ou appelez leMise à jour de l'API d'état des versions du packagepour modifier le statut.

    1. Option 1 : Utilisez ce qui suitcurlpour ajouter une commandemaven-metadata.xmlfichier dans votre colis :

      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

      L'exemple suivant est celui du contenu d'unmaven-metadata.xmldans le fichier:

      <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. Option 2 : Mettez à jour l'état du package versPublishedavec leUpdatePackageVersionsStatusAPI.

      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 vous ne possédez que le fichier JAR d'un artefact, vous pouvez publier une version de package consommable sur un CodeArtifact référentiel utilisantmvn. Cela peut être utile si vous n'avez pas accès au code source ou au POM de l'artefact. Consultez Publier des artefacts tiers pour plus de détails.