此操作已被棄用。現在,使用 GitHub 的官方 GitHub 操作「本機」支援發佈到 GitHub Pages。它比這種方法好得多。
此操作僅允許您將靜態內容的任意資料夾從工作流程的工作目錄 ( /github/workspace
) 部署到 GitHub 頁面。這是透過讓您的操作實例git push
您選擇的資產資料夾 ( BUILD_DIR
) 推送到 GitHub 儲存庫的gh-pages
分支來提供服務的gh-pages
分支來實現的。如果您在組織或使用者儲存庫(名為username/username.github.io
)內執行此操作,它將部署到master
分支。
請記住,您可能還需要調整儲存庫設定。
由於此操作部署到單獨的「僅部署」分支,因此如果您想從 repo 子目錄(例如docs/
進行部署,則無法使用它。在這些情況下,您確實不需要 GitHub Action,因為您將自己提交建置工件。有關詳細信息,請參閱 GitHub Pages 文件。
已經有很棒的 GitHub 操作可以使用靜態網站產生器,然後部署到 GitHub Pages(對於 jekyll、jekyll、zola 以及肯定會出現的更多)。儘管我從這些作品中藉用了許多 git 操作,但此操作並非如此。
此操作不會建置任何東西,它只是部署。
沒有任何。
沒有任何。
透過git push
到gh-pages
(或master
)分支來部署到 GitHub 頁面。要授權此操作,GitHub 操作需要一個秘密。目前,有點令人困惑的是,每個儲存庫可用的GITHUB_TOKEN
足以推送到gh-pages
,但不足以觸發 GitHub 上的頁面構建,甚至不足以將內容傳播到 GitHub 內容交付網路。
因此,您必須建立自訂個人存取權杖 (PAT),就像您為外部服務(例如 Travis)所做的那樣。必須使用repo
權限建立此令牌才能部署到 Github Pages。然後,您必須將此令牌作為秘密貼到 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 }}