5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Actionsを使ってDokkaで出力したドキュメントをGitHub Pagesにデプロイする

Last updated at Posted at 2021-07-22

目的

タイトル通りです。

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を使ったりと色々と楽をしていたら拍子抜けするくらいすぐにデプロイできたのでなかなか楽しかったです。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?