지난번 포스트에서 Dokka를 활용하여 안드로이드 프로젝트를 문서화하였다. KDoc, Dokka에 대해 잘모르겠다면 이전 포스트를 보고 올 것을 추천한다.
https://yeoksamdev.tistory.com/3
[Android] Dokka를 활용하여 프로젝트 문서화하기 - (1)
Kotlin 코드를 Dokka로 문서화하기 Dokka를 활용하면 HTML, Markdown 등의 형태로 kolin 코드를 문서화할 수 있다. 1. Build gradle에 Dokka plugin 추가 Kotlin DSL, Multi-Module을 사용한 안드로이드 프로젝트를 기준으
yeoksamdev.tistory.com
이번 포스트에는 github의 기능을 활용하여 문서를 자동 생성하고 호스팅하는 방법을 설명하려고 한다.
Github pages의 호스팅 방법은 보통 action과 branch를 통한 배포 2가지로 구분되는데, 기존에 작업하고 있던 프로젝트의 문서의 경우 private submodule들을 사용하고 있었고, 프로젝트의 signing key 등의 작업 또한 github action을 사용하여 설정하고 있었던 탓에 github page 또한 부득이하게 action파일을 custom하여 사용해야했다.
그럼 이제 아래의 과정을 따라가면서 프로젝트에 문서를 자동으로 배포하는 기능을 추가해보자
Github action 파일 작성하기
.github/workflows/gh_pages.xml
name: Build Jekyll site
on:
push:
branches: [ "develop", "master" ]
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
// private submodule이 포함되어있다면 token에 auth_key를 설정해주어야한다
with:
token: ${{ secrets.REPO_AUTH_KEY }}
submodules: true
// 프로젝트의 jdk 버전과 동일하게 설정해주면된다
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build documentation
run: ./gradlew dokkaHtmlMultiModule --no-configuration-cache
- name: Publish documentation
uses: JamesIves/github-pages-deploy-action@releases/v4
with:
BRANCH: gh-pages
FOLDER: build/dokka/htmlMultiModule
TOKEN: ${{ secrets.REPO_AUTH_KEY }}
Github pages 설정하기
Github의 Setting 페이지로 이동하면 왼쪽 사이드바에 Pages항목이 있다. 이를 클릭하면 아래와 같은 화면을 볼 수 있다.
Build and deployment
아래의 이미지를 참고하여 설정한다.
- Source: Deploy from a branch로 설정한다
- Branch: gh-pages 브랜치의 root로 설정한다
※ 만약 브랜치가 보이지 않는다면 위의 gh_pages.xml 파일이 develop 혹은 master 브랜치에 업로드되었는지 확인하고 actions 탭에서 정상적으로 동작 완료되었는지 확인한다
호스팅이 완료되면 아래의 주소에 접속하여 확인할 수 있다
'Android' 카테고리의 다른 글
[Android] Canvas로 속도계 만들기 (0) | 2024.12.24 |
---|---|
Color 알파(alpha)값 계산기 개발기 (0) | 2024.09.13 |
[Android] Compose TextField 천단위 콤마(,) 설정하기 (1) | 2024.02.25 |
[Android] Dokka를 활용하여 프로젝트 문서화하기 (0) | 2024.02.08 |
[Mapbox] Pulsing puck을 이용하여 현재 유저 위치 그리기 (0) | 2024.01.23 |