🛫
Writerside Github에 배포하기

· January 10, 2025 · 3 min read


⚠️ 현재 'Writerside'를 사용하지 않고 있습니다.

☀️ 사전 준비

  1. Github Page 생성 (Github Pages 시작하기↗)
  2. Writerside↗
  3. 문서 작성자를 위해, 문서 작성자가 만들었다는 Jetbrains의 문서 작성 도구
  4. 필자는 Jetbrains의 신봉자로서 Writerside를 이용해서 현재 페이지를 운영중이다.

📝 Github Actions Workflows 작성

Github Pages에 정적 페이지를 빌드 후 배포하기 위해서는 Jenkins의 Pipeline과 같은 역할을 하는 Github Actions을 사용한다.

Workflows 파일 생성

  • .github/workflows 아래 build-docs.yml 파일을 생성한다.

    20241205 163053

Workflows 작성

  • 공식 문서↗를 보고 필요한 부분을 추리고 수정해서 아래와 같은 소스를 완성 했다.
  • Job은 간단하게 Build, Deploy로 구성했다.

    name: Build documentation
    
    on:
      push:
        branches: [ "main" ]
      workflow_dispatch:
    
    permissions:
      id-token: write
      pages: write
    
    env:
      INSTANCE: 'Writerside/in'
      ARTIFACT: 'webHelpIN2-all.zip'
      DOCKER_VERSION: '241.15989'
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
            with:
              fetch-depth: 0
    
          - name: Build docs using Writerside Docker builder
            uses: JetBrains/writerside-github-action@v4
            with:
              instance: ${{ env.INSTANCE }}
              artifact: ${{ env.ARTIFACT }}
              docker-version: ${{ env.DOCKER_VERSION }}
    
          - name: Save artifact with build results
            uses: actions/upload-artifact@v4
            with:
              name: docs
              path: |
                artifacts/${{ env.ARTIFACT }}
                artifacts/report.json
              retention-days: 7
      deploy:
        environment:
          name: github-pages
          url: ${{ steps.deployment.outputs.page_url }}
        needs: [ build ]
        runs-on: ubuntu-latest
        steps:
          - name: Download artifacts
            uses: actions/download-artifact@v4
            with:
              name: docs
    
          - name: Unzip artifact
            run: unzip -O UTF-8 -qq '${{ env.ARTIFACT }}' -d dir
    
          - name: Setup Pages
            uses: actions/configure-pages@v4
    
          - name: Package and upload Pages artifact
            uses: actions/upload-pages-artifact@v3
            with:
              path: dir
    
          - name: Deploy to GitHub Pages
            id: deployment
            uses: actions/deploy-pages@v4

🚀 빌드 및 배포

배포 대상 브랜치 병합

  • 위 소스를 그대로 사용하면 'main' branch에 변화(push or merge)가 생기면 빌드 및 배포가 실행된다.
  • 대상 브랜치를 변경하고 싶으면 소스의 아래 부분을 수정한다.

    ...
    on:
    push:
    branches: [ "main" ]  # 대상 브랜치 
    workflow_dispatch:
    ...

확인

  • Actions ➡ Build Number
  • Github Page를 운영중인 Repository에서 배포 상태를 확인 할 수 있다.

    20241205 165648

👋 마치며

지금 보고 있는 이 사이트의 모든 소스는 여기↗에서 확인이 가능하다.

@rundevelrun
똑바로 해, 넌 정말