

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Publikasi dengan curl
<a name="maven-curl"></a>

Bagian ini menunjukkan cara menggunakan klien `curl` HTTP untuk mempublikasikan artefak Maven ke repositori. CodeArtifact Memublikasikan artefak dengan `curl` dapat berguna jika Anda tidak memiliki atau ingin menginstal klien Maven di lingkungan Anda.

**Memublikasikan artefak Maven dengan `curl`**

1. Ambil token CodeArtifact otorisasi dengan mengikuti langkah-langkah masuk [Teruskan token auth menggunakan variabel lingkungan](tokens-authentication.md#env-var) dan kembali ke langkah-langkah ini.

1. Gunakan `curl` perintah berikut untuk mempublikasikan JAR ke CodeArtifact repositori:

   Di setiap `curl` perintah dalam prosedur ini, ganti placeholder berikut:
   + Ganti {{my\_domain}} dengan nama CodeArtifact domain Anda.
   + Ganti {{111122223333}} dengan ID pemilik CodeArtifact domain Anda.
   + Ganti {{us-west-2}} dengan wilayah tempat CodeArtifact domain Anda berada.
   + Ganti {{my\_repo}} dengan nama CodeArtifact repositori Anda.

   ```
   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}}
   ```
**penting**  
Anda harus mengawali nilai `--data-binary` parameter dengan `@` karakter. Saat memasukkan nilai dalam tanda kutip, `@` harus disertakan di dalam tanda kutip.

1. Gunakan `curl` perintah berikut untuk mempublikasikan POM ke CodeArtifact repositori:

   ```
   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}}
   ```

1. Pada titik ini, artefak Maven akan berada di CodeArtifact repositori Anda dengan status. `Unfinished` Untuk dapat menggunakan paket, artefak tersebut harus berstatus `Published`. Anda dapat memindahkan paket dari `Unfinished` ke `Published` dengan mengunggah `maven-metadata.xml` file ke paket Anda, atau memanggil [UpdatePackageVersionsStatus API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html) untuk mengubah status.

   1.  Opsi 1: Gunakan perintah `curl` berikut untuk menambahkan file `maven-metadata.xml` ke paket Anda: 

      ```
      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}}
      ```

      Berikut ini adalah contoh isi file `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>
      ```

   1.  Opsi 2: Memperbarui status paket ke `Published` dengan 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
      ```

Jika Anda hanya memiliki file JAR artefak, Anda dapat mempublikasikan versi paket habis pakai ke CodeArtifact repositori menggunakan. `mvn` Hal ini dapat berguna jika Anda tidak memiliki akses ke kode sumber artefak atau POM. Lihat [Memublikasikan artefak pihak ketiga](maven-mvn.md#publishing-third-party-artifacts) untuk rincian selengkapnya.