

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# curl을 사용하여 패키지 게시
<a name="packages-maven-curl"></a>

이 섹션에서는 HTTP 클라이언트 `curl`을 사용하여 CodeCatalyst 패키지 리포지토리에 Maven 패키지를 게시하는 방법을 보여줍니다. 환경에 Maven 클라이언트가 없거나 이 클라이언트를 설치하려는 경우, `curl`을 사용하여 패키지를 게시하는 것이 도움이 될 수 있습니다.

**`curl`을 사용하여 Maven 패키지를 게시하려면**

1. CodeCatalyst로 `curl`을 인증하려면 환경 변수에 개인 액세스 토큰(PAT)을 저장해야 합니다. 이미 토큰이 있으면 그 토큰을 사용하면 됩니다. 그렇지 않은 경우 토큰을 생성하고 환경 변수를 구성할 수 있습니다.

   1. [개인 액세스 토큰을 사용하여 사용자 리포지토리 액세스 권한 부여](ipa-tokens-keys.md)의 단계에 따라 PAT를 생성합니다. PAT를 복사하여 환경 변수에 저장합니다.

   1. 로컬 시스템의 명령줄에서 PAT로 환경 변수를 구성합니다.

      ```
      export CodeCatalyst_ARTIFACTS_TOKEN={{your_PAT}}
      ```

1. 다음 `curl` 명령을 사용하여 JAR을 CodeCatalyst 리포지토리에 게시합니다. {{username}}, {{space\_name}}, {{proj\_name}}, {{repo\_name}}을 CodeCatalyst 사용자 이름, 스페이스 이름, 프로젝트 이름, 패키지 리포지토리 이름으로 바꿉니다.

   ```
   curl --request PUT https://packages.{{region}}.codecatalyst.aws/maven/{{space-name}}/{{proj-name}}/{{repo-name}}/{{com}}/{{mycompany}}/{{app}}/{{my-app}}/{{1.0}}/{{my-app-1.0.jar}} \
        --user "{{username}}:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \
        --data-binary @target/{{path}}/{{to}}/{{my-app-1.0.jar}}
   ```

1. 다음 `curl` 명령을 사용하여 POM을 CodeCatalyst 리포지토리에 게시합니다. {{username}}, {{space\_name}}, {{proj\_name}}, {{repo\_name}}을 CodeCatalyst 사용자 이름, 스페이스 이름, 프로젝트 이름, 패키지 리포지토리 이름으로 바꿉니다.

   ```
   curl --request PUT https://packages.{{region}}.codecatalyst.aws/maven/{{space-name}}/{{proj-name}}/{{repo-name}}/{{com}}/{{mycompany}}/{{app}}/{{my-app}}/{{1.0}}/{{my-app-1.0.pom}} \
        --user "{{username}}:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \
        --data-binary @target/{{my-app-1.0.pom}}
   ```

1. 이때 Maven 패키지는 상태가 `Unfinished`인 CodeCatalyst 리포지토리에 저장됩니다. 패키지를 사용하려면 패키지가 `Published` 상태에 있어야 합니다. 패키지에 `maven-metadata.xml` 파일을 업로드하거나 CodeCatalyst 콘솔에서 상태를 변경하여 패키지를 `Unfinished`에서 `Published`로 이동할 수 있습니다.

   1.  옵션 1: 다음 `curl` 명령을 사용하여 패키지에 `maven-metadata.xml` 파일을 추가합니다. {{username}}, {{space\_name}}, {{proj\_name}}, {{repo\_name}}을 CodeCatalyst 사용자 이름, 스페이스 이름, 프로젝트 이름, 패키지 리포지토리 이름으로 바꿉니다.

      ```
      curl --request PUT https://packages.{{region}}.codecatalyst.aws/maven/{{space-name}}/{{proj-name}}/{{repo-name}}/{{com}}/{{mycompany}}/{{app}}/{{my-app}}/{{maven-metadata.xml}} \
           --user "{{username}}:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \
           --data-binary @target/{{maven-metadata.xml}}
      ```

      다음은 `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.  옵션 2: CodeCatalyst 콘솔에서 패키지 상태를 `Published`로 업데이트합니다. 패키지 버전의 상태를 업데이트하는 방법에 대한 자세한 내용은 [패키지 버전의 상태 업데이트](working-with-packages-update-version-status.md) 섹션을 참조하세요.

패키지의 JAR 파일만 있는 경우, `mvn`을 사용하여 CodeCatalyst 리포지토리에 사용 가능한 패키지 버전을 게시할 수 있습니다. 이는 패키지의 소스 코드나 POM에 액세스할 수 없는 경우에 도움이 될 수 있습니다. 세부 정보는 [타사 패키지 게시](packages-maven-mvn.md#publishing-third-party-packages) 섹션을 참조하세요.