[JAVA] Veröffentlichen Sie JAR auf Gradle in der GitHub-Paketregistrierung

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

Token erstellen

Paketberechtigungen sind vom Repository getrennt, sodass möglicherweise auch Personen mit vorhandenen Token neu ausgestellt / konfiguriert werden müssen.

キャプチャ.PNG

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

hochladen

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.

Verwenden Sie die Bibliothek

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

Zusammenfassung

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

Recommended Posts

Veröffentlichen Sie JAR auf Gradle in der GitHub-Paketregistrierung
Veröffentlichen Sie das Docker-Image in der GitHub-Paketregistrierung
Installieren Sie gradle auf dem Mac
[Docker] Erstellen Sie eine Site mit Hugo und veröffentlichen Sie sie auf GitHub