GitHub Package Registry
Nachdem ich mich endlich für die Beta von Package Registry, GitHubs Artefakt-Publishing-Service, angemeldet habe, werde ich versuchen, JAR aus dem Maven-Repository zu veröffentlichen. Das für das Experiment verwendete Repository ist hier. Offiziell
Paketberechtigungen sind vom Repository getrennt, sodass möglicherweise auch Personen mit vorhandenen Token neu ausgestellt / konfiguriert werden müssen.
Legen Sie diesmal den Benutzernamen und das Token in "gradle.properties" fest. Sie können in diesem Bereich Umgebungsvariablen verwenden, wie Sie möchten.
gradle.properties
GITHUB_USER = minebreaker
GITHUB_TOKEN = [[token]]
build.gradle
Verwenden Sie das normale Maven Publish-Plug-In.
apply plugin: 'maven-publish'
publishing {
repositories {
maven {
name = "github"
url = 'https://maven.pkg.github.com/minebreaker/Abukuma'
credentials {
username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
}
}
}
publications {
maven(MavenPublication) {
version '0.0.0.1-EXPLORING_GITHUB_REGISTRY'
pom {
url 'https://github.com/minebreaker/Abukuma'
licenses {
license {
name = 'MIT'
}
}
}
from components.java
artifact sourcesJar
artifact javadocJar
}
}
}
Geben Sie GitHub als Paketveröffentlichungsziel mit repositories {}
an. pom
ist angebracht. Ersetzen Sie nun die URL minebreaker und Abukuma durch Ihren Benutzernamen und Ihr Repository.
Standardmäßig werden Gruppen, Artefakte und Versionen unverändert in den Projekteinstellungen verwendet. Oben wurde die Version geändert, um zu verdeutlichen, dass es sich um Experimente handelt (beachten Sie, dass sie grundsätzlich nicht gelöscht werden kann).
Führen Sie die Task "PublishMavenPublicationToGithubRepository" aus. Es scheint, dass die Aufgabe automatisch von name = github
in den obigen Repository-Einstellungen festgelegt wird.
Als ich es ausführte, schlug die Aufgabe leider zur Hälfte fehl, nur die JAR der Klassendatei wurde veröffentlicht, und Javadoc und die Quelle konnten nicht hochgeladen werden. Es ist unklar, ob die Einstellungen schlecht sind, ob Sie Gradle schlecht verwenden oder ob GitHub schlecht ist. Ich suche Wissen.
Offiziell lautete die URL "https: // maven.pkg.github.com / OWNER", aber ** schlug fehl, wenn der Repository-Name nicht enthalten war **. Es ist nicht bekannt, ob es sich um eine Spezifikation, einen Fehler oder einen Fehler im Dokument handelt. Außerdem kann ich keine Einstellung finden, um die Registrierung öffentlich zu machen, und ich muss dem Download Anmeldeinformationen geben (obwohl die Quelle öffentlich ist ...). Daher sind die Einstellungen wie folgt.
repositories {
maven {
url = 'https://maven.pkg.github.com/minebreaker/Abukuma'
credentials {
username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
}
}
}
dependencies {
implementation 'rip.deadcode.abukuma3:abukuma-jetty:0.0.0.2-EXPLORING_GITHUB_REGISTRY'
}
Eindruck, dass es sich noch in der Beta befindet (obwohl es sich in der Beta befindet). Nächstes Mal möchte ich Docker ausprobieren. -> Docker-Image in der GitHub-Paketregistrierung veröffentlichen