문서 수정 사항을 제출할 때마다 Docuusauus 웹 사이트가 자동으로 업데이트되도록 GiitHub Actions 설정
10357 단어 DocusaurusGitHubActions문서
개시하다
이 글은 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의 창고 페이지에서 Settings
의Secrets
의New Repository Secrets
를 클릭합니다.
Name
에 GH_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 파일의 다음 부분은 교체해야 합니다.Paths
및 SOURCE_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.email
및 user.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 문서에 써있는데 틀린 게 없다고 생각해요.도움이 됐으면 좋겠어요.
끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(문서 수정 사항을 제출할 때마다 Docuusauus 웹 사이트가 자동으로 업데이트되도록 GiitHub Actions 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/minoura_a/items/536f9634e9f61f16735d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cd C:\Users\{ユーザー名}\.ssh`
ssh-keygen -t ed25519 -a 100 -f {SSHキーを格納するファイルのファイル名}
ssh-keygen -t ed25519 -a 100 -f id_ed25519_docusaurus
clip < id_ed25519_docusaurus.pub
clip < id_ed25519_docusaurus
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}}
on:
workflow_dispatch:
push:
branches: [main]
paths: [ 'docs/website/**' ]
pull_request:
branches: [main]
paths: [ 'docs/website/**' ]
env:
# websiteのあるフォルダ
SOURCE_FOLDER: docs/website
run: |
git config --global user.email "xxx@yyy"
git config --global user.name "zzz"
Docuusauurs의 공식 문서에는 암호가 없는 SSH 키를 만들 수 없다는 뜻이다.
GiitHub Action 문서에 써있는데 틀린 게 없다고 생각해요.도움이 됐으면 좋겠어요.
끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(문서 수정 사항을 제출할 때마다 Docuusauus 웹 사이트가 자동으로 업데이트되도록 GiitHub Actions 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/minoura_a/items/536f9634e9f61f16735d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)