문서 수정 사항을 제출할 때마다 Docuusauus 웹 사이트가 자동으로 업데이트되도록 GiitHub Actions 설정

개시하다


이 글은 Docuusauus의 GiitHub Actions를 설정하고 GiitHub에서 문서를 변경한 후 사이트를 자동으로 업데이트하기 위한 총결산 글이다.공식 문서는여기.입니다.
Docuusauurs에 대해 알고 싶은 사람은 Docuusauus가 GiitHub Pages에 대한 depro 방법여기.을 보십시오.

SSH 키 만들기


SSH 키를 먼저 릴리즈합니다.GiitHub 공식 홈페이지의 발행 절차와는 조금 다르다.참고여기..
SSH 키를 저장한 폴더로 이동합니다.GiitHub 공식 홈페이지 발매 순서대로 진행하면 기본값C:\Users\{ユーザー名}\.ssh에서 제작되기 때문에 여기서 할 수 있다고 생각합니다.
cd C:\Users\{ユーザー名}\.ssh`
SSH 키를 릴리즈하려면 다음 절차를 따르십시오.
사이트 축소판 그림에 따르면 개인에 연결된 SSH 키는 보안상 좋지 않습니다.다음 명령으로 작성된 GiitHubAction 전용 SSH 키를 사용하는 것이 좋습니다.
{} 부분은 임의의 파일 이름으로 바꾸십시오.확장자는 별도로 지정할 필요가 없습니다.
ssh-keygen -t ed25519 -a 100 -f {SSHキーを格納するファイルのファイル名}
예를 들어, 다음 명령을 실행합니다.
ssh-keygen -t ed25519 -a 100 -f id_ed25519_docusaurus
또한 명령을 실행한 후 암호를 입력해야 합니다. 리턴 키를 누르면 모두 무시하십시오.
GiitHub Actions에서 SSH 키를 사용할 때는 암호문이 없는 SSH 키만 사용할 수 있습니다.(상세 정보여기.
다음 명령을 사용하여 프로그램 키(공개 키)를 클립보드에 복사합니다.id_ed25519_docusaurus의 부분을 임의의 파일 이름으로 바꾸십시오.
clip < id_ed25519_docusaurus.pub

GiitHub Action 설정


클립보드에 복사된 키를 미리 처리된 창고로 설정합니다.
창고Setteings에서 Deploy Keys에서 Add New Deploy Key를 클릭합니다.Title에 임의의 문자열을 설정하고 Key란에 클립보드에 복사한 키를 붙여넣습니다.
Allowwrite access를 선택하고 Add key를 클릭합니다.

다음에 개인 키를 설정합니다.
GiitHub의 창고 페이지에서 SettingsSecretsNew Repository Secrets를 클릭합니다.
NameGH_PAGES_DEPLOY를 입력합니다.
다음 명령을 사용하여 복사기를 촘촘하게 키로 복사해서 Value 열에 붙여넣습니다.id_ed25519_docusaurus의 부분을 임의의 파일 이름으로 바꾸십시오.
그런 다음 Add secret를 클릭합니다.
clip < id_ed25519_docusaurus

다음은 창고의/.폴더에yml 파일을 저장합니다.이번에는 docusaurus.주세요.
yml 파일은 다음과 같습니다.전제는main 지점의docs/website/폴더 이하의 파일이 변경된 경우에만 이 동작을 수행할 수 있습니다.
name: Docusaurus

on:
  workflow_dispatch:
  push:
    branches: [main]
    paths: [ 'docs/website/**' ]
  pull_request:
    branches: [main]
    paths: [ 'docs/website/**' ]

env:
  # websiteのあるフォルダ
  SOURCE_FOLDER: docs/website

jobs:
  checks:
    if: github.event_name != 'push'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: '14.x'
      - name: Test Build
        run: |
          if [ -e yarn.lock ]; then
            yarn install --frozen-lockfile
          elif [ -e package-lock.json ]; then
            npm ci
          else
            npm i
          fi
          npm run build
        working-directory: ${{env.SOURCE_FOLDER}}
  gh-release:
    if: github.event_name != 'pull_request'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: '14.x'
      - uses: webfactory/[email protected]
        with:
          ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }}
      - name: Release to GitHub Pages
        env:
          USE_SSH: true
          GIT_USER: git
        run: |
          git config --global user.email "xxx@yyy"
          git config --global user.name "zzz"
          if [ -e yarn.lock ]; then
            yarn install --frozen-lockfile
          elif [ -e package-lock.json ]; then
            npm ci
          else
            npm i
          fi
          npm run deploy
        working-directory: ${{env.SOURCE_FOLDER}}
상술한 yml 파일의 다음 부분은 교체해야 합니다.PathsSOURCE_FOLDER Docuusaus가 설치된 폴더를 교체하십시오.
또한 branches가 더 필요하면 임의의 지점으로 교체하십시오.
on:
  workflow_dispatch:
  push:
    branches: [main]
    paths: [ 'docs/website/**' ]
  pull_request:
    branches: [main]
    paths: [ 'docs/website/**' ]

env:
  # websiteのあるフォルダ
  SOURCE_FOLDER: docs/website
user.emailuser.name는 GiitHub에 등록한 메일 주소와 사용자 이름으로 바꾸십시오.
        run: |
          git config --global user.email "xxx@yyy"
          git config --global user.name "zzz"
이렇게 되면 주 지점의docs/website/이하가 변경될 때마다 이 동작이 실행되고 Docuusauurs가 제작한 사이트가 업데이트됩니다.
참고로 수동으로 테스트할 수 있는yml 파일을 제작했기 때문에 다음과 같은 테스트를 진행할 수 있습니다.
창고에 yml 파일을 추가하면 Actions 옵션에 추가된 yml 파일 name 이 왼쪽 workflows 아래에 표시됩니다. 클릭하십시오.
그러면 오른쪽에 드롭다운 Run workflow이 표시되고 를 클릭합니다.
그리고 녹색 버튼Run workflow이 나타납니다. 이 버튼을 누르면 수동으로 실행할 수 있습니다.

이로써 Giithub Action 설정이 완료되었습니다.

최후


Docuusauurs의 공식 문서에는 암호가 없는 SSH 키를 만들 수 없다는 뜻이다.
GiitHub Action 문서에 써있는데 틀린 게 없다고 생각해요.도움이 됐으면 좋겠어요.
끝까지 읽어주셔서 감사합니다.

좋은 웹페이지 즐겨찾기