Pubblicazione con curl - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pubblicazione con curl

In questa sezione viene illustrato come utilizzare il client HTTPcurlper pubblicare artefatti di Maven su a CodeArtifact repository. Pubblicazione di artefatti concurlpuò essere utile se non si dispone o si desidera installare il client Maven negli ambienti.

Pubblica un artefatto di Maven concurl
  1. Recupera un CodeArtifact token di autorizzazione seguendo i passaggi inPassa un token di autenticazione utilizzando una variabile di ambientee torna a questi passaggi.

  2. Utilizza il parametro seguentecurlcomando per pubblicare il JAR su un CodeArtifact : repository:

    In ognuna delle opzioni dicurlin questa procedura, sostituire i seguenti segnaposto:

    • Replace (Sostituisci)my_domaincon le opzioni di CodeArtifact nome di dominio.

    • Replace (Sostituisci)111122223333con l'ID del proprietario della CodeArtifact dominio.

    • Replace (Sostituisci)us-west-2con la regione in cui le opzioni di CodeArtifact si trova il dominio.

    • Replace (Sostituisci)my_repocon le opzioni di CodeArtifact nome del 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.jar \ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.jar
    Importante

    È necessario prefissare il valore del--data-binaryparametro con un parametro@carattere. Quando si inserisce il valore tra virgolette, il parametro@deve essere incluso all'interno delle virgolette.

  3. Utilizza il parametro seguentecurlcomando per pubblicare il POM su 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. A questo punto, l'artefatto di Maven sarà nel tuo CodeArtifact repository con uno stato diUnfinished. Per poter consumare la confezione, deve essere presente nellaPublishedstato. Puoi spostare il pacco daUnfinishedaPublishedcaricando unmaven-metadata.xmlfile nel tuo pacchetto o chiamando ilAggiorna l'API di stato delle versioni del pacchettoper modificare lo stato.

    1. Opzione 1: Utilizza il parametro seguentecurlcomando per aggiungere unmaven-metadata.xmlfile nel tuo pacchetto:

      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

      Di seguito è riportato un esempio dei contenuti di unmaven-metadata.xmlfile:

      <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. Opzione 2: Aggiorna lo stato del pacchetto aPublishedcon ilUpdatePackageVersionsStatusAPI.

      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

Se si dispone solo di un file JAR di un artifact, è possibile pubblicare una versione del pacchetto consumabile su un CodeArtifact utilizzando il repositorymvn. Ciò può essere utile se non si ha accesso al codice sorgente o al POM dell'artefatto. Per informazioni dettagliate, consultare Pubblica artefatti di terze parti.