Примечание.
Этот тип пакета может быть недоступен для вашего экземпляра, так как администраторы сайта могут включить или отключить каждый поддерживаемый тип пакета. Дополнительные сведения см. в разделе Настройка поддержки экосистемы пакетов для предприятия.
Аутентификация в GitHub Packages
Примечание.
GitHub Packages поддерживает проверку подлинности только с помощью personal access token (classic). Дополнительные сведения см. в разделе Управление личными маркерами доступа.
Для публикации, установки и удаления частных, внутренних и общедоступных пакетов требуется маркер доступа.
Можно использовать personal access token (classic) для проверки подлинности в API GitHub Packages или API GitHub . При создании personal access token (classic)можно назначить маркер различным областям в зависимости от ваших потребностей. Дополнительные сведения о областях, связанных с пакетами, для personal access token (classic), см. в разделе Сведения о разрешениях для пакетов GitHub.
Для проверки подлинности в реестре GitHub Packages в рабочем процессе GitHub Actions можно использовать следующее:
GITHUB_TOKENдля публикации пакетов, связанных с репозиторием рабочих процессов.- personal access token (classic) с по крайней мере
read:packagesобластью действия для установки пакетов, связанных с другими частными репозиториями (GITHUB_TOKENможно использовать, если репозиторий предоставлен доступ на чтение к пакету. См . раздел AUTOTITLE.
Дополнительные сведения об GITHUB_TOKEN использовании в рабочих процессах GitHub Actions см. в разделе Использование GITHUB_TOKEN для проверки подлинности в рабочих процессах. Дополнительные сведения об использовании GITHUB_TOKEN с Gradle см. в разделе Публикация Java-пакетов с помощью Gradle.
Аутентификация с помощью personal access token
Необходимо использовать personal access token (classic) с соответствующими областями для публикации и установки пакетов в GitHub Packages. Дополнительные сведения см. в разделе Введение в GitHub Packages.
Вы можете пройти проверку подлинности GitHub Packages с помощью Gradle Groovy или Kotlin DSL, изменив файл build.gradle (Gradle Groovy) или файл build.gradle.kts (Kotlin DSL), чтобы включить ваш personal access token (classic)файл. Вы также можете настроить Gradle Groovy и Kotlin DSL для распознавания одного пакета или нескольких пакетов в репозитории.
Замените REGISTRY_URL URL-адресом реестра Maven вашего экземпляра. Если в вашем экземпляре включена изоляция поддоменов, используйте maven.HOSTNAME. Если в вашем экземпляре отключена изоляция поддоменов, используйте HOSTNAME/_registry/maven. В любом случае замените HOSTNAME именем узла экземпляра GitHub Enterprise Server .
Замените ИМЯ ПОЛЬЗОВАТЕЛЯ GitHub именем пользователя, TOKEN с personal access token (classic)помощью репозитория, репозитория, содержащего пакет, который вы хотите опубликовать, и OWNER именем личной учетной записи или организации, GitHub в которой принадлежит репозиторий. Так как прописные буквы не поддерживаются, необходимо использовать строчные буквы для владельца репозитория, даже если GitHub имя пользователя или организации содержит прописные буквы.
Примечание.
GitHub Packages поддерживает версии SNAPSHOT средства Apache Maven. Чтобы использовать репозиторий GitHub Packages для скачивания артефактов SNAPSHOT, включите SNAPSHOTS в POM используемого проекта или своем файле ~/.m2/settings.xml. Пример см. в разделе Работа с реестром Apache Maven.
Пример использования Gradle Groovy для одного пакета в репозитории
plugins {
id("maven-publish")
}
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://REGISTRY_URL/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
}
}
}
publications {
gpr(MavenPublication) {
from(components.java)
}
}
}
Пример использования Gradle Groovy для нескольких пакетов в том же репозитории
plugins {
id("maven-publish") apply false
}
subprojects {
apply plugin: "maven-publish"
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://REGISTRY_URL/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
}
}
}
publications {
gpr(MavenPublication) {
from(components.java)
}
}
}
}
Пример использования Kotlin DSL для одного пакета в том же репозитории
plugins {
`maven-publish`
}
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://REGISTRY_URL/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
}
publications {
register<MavenPublication>("gpr") {
from(components["java"])
}
}
}
Пример использования Kotlin DSL для нескольких пакетов в том же репозитории
plugins {
`maven-publish` apply false
}
subprojects {
apply(plugin = "maven-publish")
configure<PublishingExtension> {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://REGISTRY_URL/OWNER/REPOSITORY")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
}
}
}
publications {
register<MavenPublication>("gpr") {
from(components["java"])
}
}
}
}
Публикация пакета
По умолчанию GitHub публикует пакет в существующем репозитории с тем же именем, что и у пакета. Например, GitHub будет публиковать пакет с именем com.example.test в репозитории OWNER/testGitHub Packages .
После публикации пакет можно просмотреть здесь: GitHub. Дополнительные сведения см. в разделе Просмотр пакетов.
-
Пройдите проверку подлинности в GitHub Packages. Дополнительные сведения см. в разделе "Проверка подлинности в GitHub Packages.
-
После создания пакета его можно опубликовать.
gradle publish
Использование опубликованного пакета
Чтобы использовать опубликованный пакет, GitHub Packagesдобавьте пакет в качестве зависимости и добавьте репозиторий в проект. Дополнительные сведения см. в разделе "Объявление зависимостей " в документации по Gradle.
-
Пройдите проверку подлинности в GitHub Packages. Дополнительные сведения см. в разделе "Проверка подлинности в GitHub Packages.
-
Добавьте зависимости пакета в файл build.gradle (Gradle Groovy) или файл build.gradle.kts (Kotlin DSL).
Пример использования Gradle Groovy:
dependencies { implementation 'com.example:package' }Пример использования Kotlin DSL:
dependencies { implementation("com.example:package") } -
Добавьте репозиторий в файл build.gradle (Gradle Groovy) или файл build.gradle.kts (Kotlin DSL).
Пример использования Gradle Groovy:
repositories { maven { url = uri("https://REGISTRY_URL/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") } } }Пример использования Kotlin DSL:
repositories { maven { url = uri("https://REGISTRY_URL/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") } } }