이 작업은 더 이상 사용되지 않습니다. 이제 GitHub의 공식 GitHub 작업을 사용하여 GitHub 페이지에 게시하기 위한 "기본" 지원이 제공됩니다. 이 접근 방식보다 훨씬 낫습니다.
이 작업을 사용하면 워크플로의 작업 디렉터리( /github/workspace
)에서 GitHub 페이지로 정적 콘텐츠의 임의 폴더를 배포할 수 있습니다. 이는 작업 인스턴스 git push
선택한 자산 폴더( BUILD_DIR
)를 GitHub 저장소의 gh-pages
분기에 푸시하여 gh-pages
분기가 제공되도록 함으로써 작동합니다. 조직 또는 사용자 저장소( username/username.github.io
이름) 내에서 이 작업을 실행하는 경우 대신 master
브랜치에 배포됩니다.
저장소 설정을 조정해야 할 수도 있다는 점을 기억하십시오.
이 작업은 별도의 "배포 전용" 분기에 배포되므로 docs/
와 같은 repo 하위 디렉터리에서 배포하려는 경우에는 사용할 수 없습니다. 이러한 경우 빌드 아티팩트를 직접 커밋하게 되므로 GitHub Action이 실제로 필요하지 않습니다. 자세한 내용은 GitHub 페이지 설명서를 참조하세요.
정적 사이트 생성기를 사용 하고 GitHub 페이지에 배포하는 훌륭한 GitHub 작업이 이미 있습니다(jekyll, jekyll, zola 및 앞으로 더 많은 기능을 포함). 이 작업은 그렇지 않지만 이 작업에서 git 작업의 대부분을 차용했습니다.
이 작업은 아무것도 빌드하지 않고 배포만 합니다.
없음.
없음.
GitHub 페이지에 대한 배포는 gh-pages
(또는 master
) 분기에 대한 git push
를 통해 이루어집니다. 이를 승인하려면 GitHub 작업에 비밀이 필요합니다. 현재로서는 다소 혼란스럽게도 모든 저장소에 사용 가능한 GITHUB_TOKEN
gh-pages
에 푸시하는 데 충분 하지만 GitHub에서 페이지 빌드를 트리거하거나 GitHub 콘텐츠 전달 네트워크에 콘텐츠를 전파하는 데는 충분 하지 않습니다 .
따라서 외부 서비스(예: Travis)에서와 마찬가지로 사용자 정의 개인 액세스 토큰(PAT)을 생성해야 합니다 . Github 페이지에 배포하려면 이 토큰을 repo
권한으로 생성해야 합니다. 그런 다음 이 토큰을 GitHub UI에 GH_PAT
(리포지토리 설정/비밀)이라는 이름으로 비밀로 붙여넣고 아래와 같이 작업에서 호출해야 합니다.
저는 GitHub에 이 프로세스를 간소화하도록 요청했습니다. 토론은 여기에 문서화되어 있습니다.
저장소 루트에 상대적인 빌드 디렉터리 BUILD_DIR
입니다. 패스할 수도 있습니다 .
저장소 루트를 푸시하려는 경우.
name : Deployment
" on " :
- push
- pull_request
jobs :
deploy_ghpages :
runs-on : ubuntu-18.04
steps :
- uses : actions/checkout@v1
- run : echo $GITHUB_SHA >> public/index.html
- uses : maxheld83/[email protected]
env :
BUILD_DIR : public/
GH_PAT : ${{ secrets.GH_PAT }}