Observação: GitHub Package Registry está atualmente em beta para GitHub Enterprise Server 2.22. Para participar da versão beta da sua instância, use o formulário de inscrição.
Note: When installing or publishing a docker image, GitHub Package Registry does not currently support foreign layers, such as Windows images.
Autenticar-se no GitHub Package Registry
Você precisa de um token de acesso para publicar, instalar e excluir pacotes no GitHub Package Registry. Você pode usar um token de acesso pessoal para autenticar com seu nome de usuário diretamente no GitHub Package Registry ou na API GitHub. Ao criar um token de acesso pessoal, você pode atribuir diferentes escopos de token, dependendo da sua necessidade.
Para efetuar a autenticação em
GitHub Package Registry usando um fluxo de trabalho de GitHub Actions, você deve usar GITHUB_TOKEN
.
Efetuando a autenticação com um token de acesso pessoal
Você deve usar um token de acesso pessoal com os escopos apropriados para publicar e instalar pacotes no GitHub Package Registry. Para obter mais informações, consulte "Sobre GitHub Package Registry."
Você pode efetuar a autenticação no GitHub Package Registry com Gradle usando Gradle Groovy ou Kotlin DSL e editando o seu arquivo build.gradle (Gradle Groovy) ou o arquivo build.gradle.kts (Kotlin DSL) para incluir seu token de acesso pessoal. Também é possível configurar o Gradle Groovy e o Kotlin DSL para reconhecer um único pacote ou vários pacotes em um repositório.
Substitua REGISTRY-URL pela URL do registro do Maven para a sua instância. Se sua instância tiver o isolamento de subdomínio habilitado, use maven.HOSTNAME
. Se sua instância estiver com o isolamento de subdomínio desabilitado, use HOSTNAME/registry/maven
. Em ambos os casos, substitua HOSTNAME pelo nome do host da sua
instância de GitHub Enterprise Server.
Substitua NOME DE USUÁRIO pelo seu nome de usuário do GitHub TOKEN pelo seu token de acesso pessoal, REPOSITÓRIO pelo nome do repositório que contém o pacote que você deseja publicar, e PROPRIETÁRIO pelo nome do usuário ou conta de organização no GitHub que é proprietário do repositório. Como não é permitido usar letras maiúsculas, é preciso usar letras minúsculas no nome do proprietário do repositório, mesmo que o nome do usuário ou da organização no GitHub contenha letras maiúsculas.
Observação: GitHub Package Registry suporta versões SNAPSHOT
do Apache Maven. Para utilizar um repositório para baixar esse tipo de artefato, você deve habilitar o SNAPSHOTS no seu arquivo ~/.m2/settings.xml. Por exemplo, consulte "Configuraro Apache Maven para uso com GitHub Package Registry".
Exemplo de uso do Gradle Groovy para um único pacote em um repositório
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)
}
}
}
Exemplo de uso do Gradle Groovy para vários pacotes no mesmo repositório
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)
}
}
}
}
Exemplo de uso do Kotlin DSL para um único pacote no mesmo repositório
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("gpr") {
from(components["java"])
}
}
}
Exemplo de uso do Kotlin DSL para vários pacotes no mesmo repositório
plugins {
`maven-publish` apply false
}
subprojects {
apply(plugin = "maven-publish")
configure {
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("gpr") {
from(components["java"])
}
}
}
}
Efetuar a autenticação com o GITHUB_TOKEN
Se você estiver utilizando um fluxo de trabalho do GitHub Actions, você pode usar um GITHUB_TOKEN
para publicar e consumir pacotes em GitHub Package Registry sem precisar armazenar e gerenciar um token de acesso pessoal. Para obter mais informações, consulte "Authenticating with the GITHUB_TOKEN
."
Para obter mais informações sobre como usar o GITHUB_TOKEN
com Maven, consulte "Publicar pacotes Java com Maven".
Publicar um pacote
Por padrão, o GitHub publica o pacote em um repositório existente com o mesmo nome do pacote. Por exemplo, GitHub publicará um pacote denominado com.example.test
no repositório OWNER/test
GitHub Package Registry.
Após publicar um pacote, você poderá visualizá-lo no GitHub. For more information, see "Viewing packages."
-
Autenticar para GitHub Package Registry. Para obter mais informações, consulte "Authenticating to GitHub Package Registry."
-
Depois de criar seu pacote, você poderá publicá-lo.
$ gradle publish
Instalar um pacote
Você pode instalar um pacote adicionando-o como uma dependência ao seu projeto. Para obter mais informações, consulte "Declarar dependências" na documentação do Gradle.
-
Autenticar para GitHub Package Registry. Para obter mais informações, consulte "Authenticating to GitHub Package Registry."
-
Adicione as dependências do pacote ao seu arquivo build.gradle (Gradle Groovy) ou ao arquivo build.gradle.kts (arquivo de Kotlin DSL).
Exemplo do uso do Gradle Groovy:
dependencies { implementation 'com.example:package' }
Exemplo de uso do Kotlin DSL:
dependencies { implementation("com.example:package") }
-
Adicione o plugin do maven ao seu arquivo build.gradle (Gradle Groovy) ou ao arquivo build.gradle.kts (arquivo Kotlin DSL).
Exemplo do uso do Gradle Groovy:
plugins { id 'maven' }
Exemplo de uso do Kotlin DSL:
plugins { `maven` }
-
Instale o pacote.
$ gradle install