publish to GitHub Packages
ローカルからではなく Github Actions から行う場合は以下のように 環境変数から値を取得する形式で credentials を設定する。publish は maven publish plugin を使う。(maven plugin でもよいが Gradle 7.0 から削除されている)
OWNER/REPOSITORY は github 上でのリポジトリを指定。
USERNAME と TOKEN は Github Actions 側で設定した名前を使う。TOKEN は GITHUB_TOKEN でよい様子。
code:build.gradle.kts
plugins {
java
maven-publish
}
publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/OWNER/REPOSITORY")
credentials {
username = System.getenv("USERNAME")
password = System.getenv("TOKEN")
}
}
}
publications {
register<MavenPublication>("gpr") {
from(components"java")
}
}
}
code:.github/workflows/publishing.yml
name: "Publishing to Github Packages using Gradle"
on:
push:
branches: master
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Java for Publishing
uses: actions/setup-java@v1
with:
java-version: 11
- name: Publish to Github Packages
uses: eskatos/gradle-command-action@v1
with:
arguments: publish
wrapper-cache-enabled: true
dependencies-cache-enabled: true
env:
USERNAME: ${{ github.actor }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}
https://github.com/actions/setup-java
使い方
https://docs.github.com/en/packages/guides/configuring-gradle-for-use-with-github-packages
https://github.com/actions/starter-workflows/blob/main/ci/gradle-publish.yml
#GitHub