Aracılığıyla paylaş


Gradle ile yapıtları yayımlama

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

Azure Artifacts ile bağımlılıklarınızı tek bir akıştan verimli bir şekilde yönetebilir ve çeşitli paket türlerini tek bir yerde depolayabilirsiniz. Azure Artifacts, geliştiricilerin farklı kaynaklardan paketler yayımlayıp kullanmasına ve bunları akışın görünürlük ayarlarına göre paylaşmasına olanak tanır. Bu makalede, Azure Artifacts akışına bağlanmayı ve Gradle kullanarak paketlerinizi yayımlamayı öğreneceksiniz.

Önkoşullar

Kişisel erişim belirteci oluşturma

Akışınızla kimlik doğrulaması yapmak için önce Okuma ve Yazma kapsamlarını paketleyen bir kişisel erişim belirteci oluşturmanız gerekir:

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. Kullanıcı ayarları'nı ve ardından Kişisel erişim belirteçleri'ni seçin.

    Kişisel erişim belirteci düğmesini bulmayı gösteren ekran görüntüsü.

  3. Yeni Belirteç'i seçin ve gerekli alanları doldurun. Paketleme>Okuma ve yazma kapsamını seçtiğinizden emin olun.

  4. İşiniz bittiğinde Oluştur'u seçin. Sonraki adımda ihtiyacınız olacak şekilde belirtecinizi kopyalayın ve güvenli bir konuma kaydedin.

    Paket okuma ve yazma kapsamlarıyla yeni bir kişisel erişim belirtecinin nasıl oluşturulacağını gösteren ekran görüntüsü.

Proje kurulumu

Projenizi ayarlamadan önce Gradle'ın yüklü olduğundan ve Maven Ayarları eklentisini build.gradle dosyanıza aşağıdaki gibi eklediğinizden emin olun:

plugins {
  id 'maven-publish'
}

build.gradle'ı yapılandırma

  1. Projenizin kökünde bir build.gradle dosyası yoksa yeni bir dosya oluşturun ve bu dosyayı build.gradle olarak adlandırın.

  2. Build.gradle dosyanıza hem depolar hem de publishing.repositories kapsayıcıları içinde aşağıdaki bölümü ekleyin:

    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 dosyanızın nasıl görünmesi gerektiğini gösteren bir örnek aşağıda verilmişti:

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'i yapılandırma

  1. Giriş klasörünüzün .gradle dizininde bulunan gradle.properties dosyasını açın (~/.gradle/gradle.properties). Dosya yoksa yeni bir tane oluşturun.

  2. Aşağıdaki kod parçacığını ekleyin ve yer tutucuları akış adınız, kuruluş adınız ve daha önce oluşturduğunuz kişisel erişim belirteci ile değiştirin.

    # 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]
    

Paketlerinizi yayımlama

  1. Paketinizi akışınızda yayımlamak için proje dizininizde aşağıdaki komutu çalıştırın:

    gradle publish
    

Akışta başarıyla yayımlanan bir paketi gösteren ekran görüntüsü.