GitHub Actions를 사용하여 Github Pages에 Open API Redoc 문서를 출력한 메모
개요
Github Pages가 organization에서 private를 지원했기 때문에
업무에서 사용하고 있는 Open API의 정의를 push되었을 때에 자동배포하도록 해 보았습니다.
swagger-viewer 등으로 보는 것이 어려웠기 때문에
소스 코드
구성
├── .github
│ └── workflows
│ └── gh-pages.yml
├── docs
│ └── index.html
├── package-lock.json
├── package.json
└── petstore.yaml : from https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
workflows
gh-pages.ymlname: github pages
on:
branch
push:
branches: [ main ]
# 手動実行できるようにするため
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: main # 手動実行時のブランチを指定しておく
- uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'npm'
- run: npm ci
- name: bundle
run: npm run bundle
- name: pages deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
workflow가 실행되면 gh-pages
브랜치가 만들어지기 때문에
first-deployment-with-github_token@actions-gh-pages 참고
Settings > Pages를 열고
Source를 gh-pages
로 설정
다시 workflow 실행
배포 확인
막힌 곳
npm install
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'npm'
- run: npm install -g redoc-cli
- name: bundle
run: redoc-cli bundle petstore.yaml
npm install -g
할 수 있다고 생각하면 오류
Error: Dependencies lock file is not found
노드 버전
참고로 node-version: '14'
하면 오류
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module 'react-is'
Require stack:
...
node-version: '16'
했습니다.
Reference
이 문제에 관하여(GitHub Actions를 사용하여 Github Pages에 Open API Redoc 문서를 출력한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/n_komiya/items/da3f4172dd191b23073f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
├── .github
│ └── workflows
│ └── gh-pages.yml
├── docs
│ └── index.html
├── package-lock.json
├── package.json
└── petstore.yaml : from https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
name: github pages
on:
branch
push:
branches: [ main ]
# 手動実行できるようにするため
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: main # 手動実行時のブランチを指定しておく
- uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'npm'
- run: npm ci
- name: bundle
run: npm run bundle
- name: pages deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs
- uses: actions/setup-node@v2
with:
node-version: '14'
cache: 'npm'
- run: npm install -g redoc-cli
- name: bundle
run: redoc-cli bundle petstore.yaml
Error: Dependencies lock file is not found
internal/modules/cjs/loader.js:905
throw err;
^
Error: Cannot find module 'react-is'
Require stack:
...
Reference
이 문제에 관하여(GitHub Actions를 사용하여 Github Pages에 Open API Redoc 문서를 출력한 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/n_komiya/items/da3f4172dd191b23073f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)