目的
タイトル通りです。
Dokkaについて詳しく知りたい方は↓へどうぞ。
http://kotlin.github.io/dokka/1.5.0/
準備
Gradle
build.gradle.kts
plugins {
id("org.jetbrains.dokka") version dokkaVersion
}
repositories {
mavenCentral()
}
// ビルド先のディレクトリを指定します。なくても大丈夫です。
tasks.getByName<org.jetbrains.dokka.gradle.DokkaTask>("dokkaHtml") {
outputDirectory.set(buildDir.resolve("dokkaHtmlOutput"))
}
build.properties
org.gradle.jvmargs=-XX:MaxMetaspaceSize=512m
Dokkaはメタスペースを大量に消費して最悪の場合OutOfMemory
が発生するので、程よく調整してください。
ワークフロー
こちらを用いてデプロイします。
..github/workflows/deploy_gh_pages.yml
name: 'Deploy Document to GitHub Pages'
on:
push:
branches:
- main
jobs:
build:
runs-on: 'ubuntu-20.04'
steps:
- uses: actions/checkout@v2
# ドキュメントのビルド
- name: Build Document
run: ./gradlew dokkaHtml
# デプロイ
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/dokkaHtmlOutput
結果
main
ブランチにプッシュするとCIが回ります。
サンプルはこちら
まとめ
GitHub Actionsを使ってDokkaで生成したドキュメントをGitHub Pagesにデプロイする方法でした。
ローカルでのDokkaのビルドでOOMが発生してたので、戦々恐々としながらも作ったワークフローをGitHub Actionsで回してみたものの、案の定こけていました。
GitHub Actionsのvmoptionsを変更する方法が見当たらず、Dokka側で最適化されるのを待つしかないのかと半ば絶望してました。
それ以外はよそ様のActionsを使ったりと色々と楽をしていたら拍子抜けするくらいすぐにデプロイできたのでなかなか楽しかったです。