curl을 사용한 게시 - CodeArtifact

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

curl을 사용한 게시

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

curl을 사용하여 Maven 아티팩트를 게시
  1. 환경 변수를 사용하여 인증 토큰 전달의 단계에 따라 CodeArtifact 인증 토큰을 가져오고 이 단계로 돌아갑니다.

  2. 다음 curl 명령을 사용하여 JAR을 CodeArtifact 리포지토리에 게시합니다.

    이 절차의 각 curl 명령에서 다음 자리 표시자를 변경합니다.

    • my_domain을 CodeArtifact 도메인 이름으로 변경합니다.

    • 111122223333을 CodeArtifact 도메인 소유자의 ID로 변경합니다.

    • us-west-2를 CodeArtifact 도메인이 위치한 리전으로 변경합니다.

    • my_repo를 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
    중요

    --data-binary 파라미터 값 앞에 문자 @을 붙여야 합니다. 값을 따옴표로 묶을 때는 따옴표 안에 @을 포함해야 합니다.

  3. 다음 curl 명령을 사용하여 POM을 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. 이때 Maven 아티팩트는 상태가 Unfinished인 CodeArtifact 리포지토리에 저장됩니다. 패키지를 사용하려면 패키지가 Published 상태에 있어야 합니다. 패키지에 maven-metadata.xml 파일을 업로드하거나 UpdatePackageVersionsStatus API를 직접적으로 호출하여 상태를 변경함으로써 패키지를 Unfinished에서 Published로 이동할 수 있습니다.

    1. 옵션 1: 다음 curl 명령을 사용하여 패키지에 maven-metadata.xml 파일을 추가합니다.

      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

      다음은 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. 옵션 2: UpdatePackageVersionsStatus API를 사용하여 패키지 상태를 Published로 업데이트합니다.

      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

아티팩트의 JAR 파일만 있는 경우 mvn을 사용하여 CodeArtifact 리포지토리에 사용 가능한 패키지 버전을 게시할 수 있습니다. 이는 아티팩트의 소스 코드나 POM에 액세스할 수 없는 경우에 도움이 될 수 있습니다. 세부 정보는 타사 아티팩트 게시을 참조하세요.