다음을 통해 공유


Gradle을 사용하여 아티팩트 게시

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts를 사용하면 단일 피드에서 종속성을 효율적으로 관리하여 다양한 유형의 패키지를 한 곳에 저장할 수 있습니다. Azure Artifacts를 사용하면 개발자가 다른 원본의 패키지를 게시 및 사용하고 피드의 표시 유형 설정에 따라 공유할 수 있습니다. 이 문서에서는 Azure Artifacts 피드에 연결하고 Gradle을 사용하여 패키지를 게시하는 방법을 알아봅니다.

필수 조건

개인용 액세스 토큰 만들기

피드를 사용하여 인증하려면 먼저 읽기 및 쓰기 범위를 패키징하여 개인용 액세스 토큰을 만들어야 합니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 사용자 설정을 선택한 다음 개인 액세스 토큰을 선택합니다.

    개인 액세스 토큰 단추를 찾는 방법을 보여 주는 스크린샷

  3. 새 토큰을 선택하고 필요한 필드를 채웁니다. 패키징>읽기 및 쓰기 범위를 선택해야 합니다.

  4. 완료되면 만들기를 선택합니다. 다음 단계에서 필요하므로 토큰을 복사하고 안전한 위치에 저장합니다.

    읽기 및 쓰기 범위를 패키징하여 새 개인용 액세스 토큰을 만드는 방법을 보여주는 스크린샷

프로젝트 설정

프로젝트를 설정하기 전에 Gradle이 설치되어 있고 다음과 같이 Maven 설정 플러그 인을 build.gradle 파일에 추가했는지 확인합니다.

plugins {
  id 'maven-publish'
}

build.gradle 구성

  1. build.gradle 파일이 프로젝트의 루트에 없는 경우 새 파일을 만들고 이름을 build.gradle지정합니다.

  2. 리포지토리 및 publishing.repositories 컨테이너 모두에서 build.gradle 파일에 다음 섹션을 추가합니다.

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'            //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
        }
    }
    

build.gradle 파일의 예는 다음과 같습니다.

repositories {
    mavenCentral()

    maven {
    url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'                //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
    name '<FEED_NAME>'
    credentials(PasswordCredentials)
    authentication {
        basic(BasicAuthentication)
        }
    }
}

publishing {
    publications {
        library(MavenPublication) {
            from components.java
        }
    }

    repositories {
        maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'           //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
            }
        }
    }
}

gradle.properties 구성

  1. 홈 폴더의 .gradle 디렉터리(~/.gradle/gradle.properties)에 있는 gradle.properties 파일을 엽니다. 파일이 없으면 새 파일을 만듭니다.

  2. 자리 표시자를 피드 이름, 조직 이름 및 이전에 만든 개인 액세스 토큰으로 바꾸는 다음 코드 조각을 추가합니다.

    # Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle.
    # The value of the username is arbitrary but should not be blank.
    [FEED_NAME]Username=[ORGANIZATION_NAME]
    [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
    

패키지 게시

  1. 프로젝트 디렉터리에서 다음 명령을 실행하여 피드에 패키지를 게시합니다.

    gradle publish
    

피드에 성공적으로 게시된 패키지를 표시하는 스크린샷