Sdílet prostřednictvím


Publikování artefaktů pomocí Gradle

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pomocí Azure Artifacts můžete efektivně spravovat závislosti z jednoho informačního kanálu a ukládat různé typy balíčků na jednom místě. Azure Artifacts umožňuje vývojářům publikovat a využívat balíčky z různých zdrojů a sdílet je podle nastavení viditelnosti informačního kanálu. V tomto článku se dozvíte, jak se připojit k informačnímu kanálu Azure Artifacts a publikovat balíčky pomocí Gradle.

Požadavky

Vytvoření osobního přístupového tokenu (PAT)

Pokud se chcete ověřit pomocí informačního kanálu, musíte nejprve vytvořit osobní přístupový token s rozsahy čtení a zápisu balení:

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. Vyberte Uživatelská nastavení a pak vyberte Osobní přístupové tokeny.

    Snímek obrazovky znázorňující, jak najít tlačítko osobního přístupového tokenu

  3. Vyberte Nový token a vyplňte požadovaná pole. Nezapomeňte vybrat obor Pro čtení a zápis balení>.

  4. Až budete hotovi, vyberte Vytvořit . Zkopírujte token a uložte ho do zabezpečeného umístění, protože ho budete potřebovat pro další krok.

    Snímek obrazovky znázorňující, jak vytvořit nový token patu s rozsahy čtení a zápisu balení

Nastavení projektu

Před nastavením projektu se ujistěte, že je Gradle nainstalovaný a že jste do souboru build.gradle přidali modul plug-in Maven Settings:

plugins {
  id 'maven-publish'
}

Konfigurace build.gradle

  1. Pokud soubor build.gradle v kořenovém adresáři projektu neexistuje, vytvořte nový soubor a pojmenujte ho: build.gradle.

  2. Do souboru build.gradle v kontejnerech úložiště i v kontejnerech publishing.repositories přidejte následující oddíl:

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

Tady je příklad, jak by měl soubor build.gradle vypadat:

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

Konfigurace gradle.properties

  1. Otevřete soubor gradle.properties umístěný v adresáři .gradle vaší domovské složky (~/.gradle/gradle.properties). Pokud soubor neexistuje, vytvořte nový.

  2. Přidejte následující fragment kódu a nahraďte zástupné symboly názvem informačního kanálu, názvem organizace a tokenem pat přístupu, který jste vytvořili dříve.

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

Publikování balíčků

  1. Spuštěním následujícího příkazu v adresáři projektu publikujte balíček do informačního kanálu:

    gradle publish
    

Snímek obrazovky zobrazující úspěšně publikovaný balíček do informačního kanálu