Gitee 如何自动部署博客 Pages?推荐用这个GitHub Actions!
大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學(xué)習(xí)200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學(xué)習(xí)源碼整體架構(gòu)系列》?包含20余篇源碼文章。
前段時間我把自己的博客,用 github action 自動同步到 https://lxchuan12.gitee.io 持續(xù)部署了。想寫篇文章來著,發(fā)現(xiàn)有人寫了。推薦給大家。點擊文末底部閱讀原文是我的博客同步配置,可供參考。
Gitee Pages
在上篇《一篇教你代碼同步 GitHub 和 Gitee》[1]中,我們使用 GitHub Actions 解決了 GitHub 代碼自動同步 Gitee 的問題,但我們的博客倉庫代碼同步到 Gitee 后,并不能像 GitHub 一樣自動部署 Pages,如果不使用付費的 Gitee Pages Pro 服務(wù),那我們該怎么實現(xiàn) Gitee 自動部署 Pages 呢?
GitHub Actions
答案是接著使用 GitHub Actions!你可能會想,Gitee 也有 GitHub Actions 服務(wù)嗎?Gitee 也會像 GitHub 一樣檢測 .github/workflows/ 目錄下的 YAML 文件,然后執(zhí)行嗎?
這當(dāng)然是不可能的,Gitee 并不支持 GitHub 的這套方式,但我們?yōu)槭裁匆欢ㄒ栌?Gitee 的能力呢?我們在 GitHub Actions 中,模擬登陸 Gitee,點擊項目的部署按鈕,不也是一種實現(xiàn)方式嗎?
搜索 Actions
我們接下來去找一些合適的 GitHub Actions,我們可以在 GitHub 的官方市場[2],或者 awesome actions[3] 倉庫,再或者直接在 GitHub 搜索比如 gitee pages actions 之類的關(guān)鍵詞。
最終,我們決定使用 Gitee Pages Action[4],查看一下主頁的示例代碼:
name:?Syncon:push:branches:?[main]workflow_dispatch:jobs:build:runs-on:?ubuntu-lateststeps:-?name:?Sync?to?Giteeuses:?wearerequired/git-mirror-action@masterenv:#?注意在?Settings->Secrets?配置?GITEE_RSA_PRIVATE_KEYSSH_PRIVATE_KEY:?${{?secrets.GITEE_RSA_PRIVATE_KEY?}}with:#?注意替換為你的?GitHub?源倉庫地址source-repo:?git@github.com:doocs/leetcode.git#?注意替換為你的?Gitee?目標倉庫地址destination-repo:?git@gitee.com:Doocs/leetcode.git-?name:?Build?Gitee?Pagesuses:?yanglbme/gitee-pages-action@mainwith:#?注意替換為你的?Gitee?用戶名gitee-username:?yanglbme#?注意在?Settings->Secrets?配置?GITEE_PASSWORDgitee-password:?${{?secrets.GITEE_PASSWORD?}}#?注意替換為你的?Gitee?倉庫,倉庫名嚴格區(qū)分大小寫,請準確填寫,否則會出錯gitee-repo:?doocs/leetcode#?要部署的分支,默認是?master,若是其他分支,則需要指定(指定的分支必須存在)branch:?main我們之前已經(jīng)實現(xiàn)了 GitHub 代碼同步 Gitee,這里我們直接使用后半部分的自動部署 actions,結(jié)合上篇的 YAML 文件代碼,最終的修改如下:
name:?syncToGitee on:push:branches:-?gh-pages jobs:repo-sync:runs-on:?ubuntu-lateststeps:-?name:?Mirror?the?Github?organization?repos?to?Gitee.uses:?Yikun/hub-mirror-action@masterwith:src:?'github/mqyqingfeng'dst:?'gitee/mqyqingfeng'dst_key:?${{?secrets.GITEE_PRIVATE_KEY?}}dst_token:??${{?secrets.GITEE_TOKEN?}}static_list:?"learn-typescript"force_update:?truedebug:?true-?name:?Build?Gitee?Pagesuses:?yanglbme/gitee-pages-action@mainwith:#?注意替換為你的?Gitee?用戶名gitee-username:?mqyqingfeng#?注意在?Settings->Secrets?配置?GITEE_PASSWORDgitee-password:?${{?secrets.GITEE_PASSWORD?}}#?注意替換為你的?Gitee?倉庫,倉庫名嚴格區(qū)分大小寫,請準確填寫,否則會出錯gitee-repo:?mqyqingfeng/learn-typescript#?要部署的分支,默認是?master,若是其他分支,則需要指定(指定的分支必須存在)branch:?gh-pages注意不要忘了在倉庫的設(shè)置里添加 Secrets,輸入 Gitee 的登陸密碼,然后保存名為 GITEE_PASSWORD
YAML 文件語法報錯
如果 Actions 運行失敗并出現(xiàn)了這種錯誤:
這是因為你的 YAML 語法寫的有問題,可能是哪里沒有對齊。可以在這個網(wǎng)址[5]校驗下你的 YAML 文件,也可以順便看下阮一峰老師的 YAML 語言教程[6]。
再次運行
修改了代碼之后,我們可以再執(zhí)行一遍 sh deploy.sh,然后在 GitHub 上查看運行情況:
當(dāng)運行成功,我們再查看 Gitee 的地址,就會發(fā)現(xiàn)已經(jīng)部署為最新的版本了。
至此,實現(xiàn)了 GitHub 和 Gitee 代碼的同步和自動部署。
參考資料
[1]
《一篇教你代碼同步 GitHub 和 Gitee》: https://github.com/mqyqingfeng/Blog/issues/236
[2]官方市場: https://github.com/marketplace?type=actions
[3]awesome actions: https://github.com/sdras/awesome-actions
[4]Gitee Pages Action: https://github.com/marketplace/actions/gitee-pages-action
[5]這個網(wǎng)址: https://verytoolz.com/yaml-formatter.html
[6]YAML 語言教程: https://www.ruanyifeng.com/blog/2016/07/yaml.html
·················?若川簡介?·················
你好,我是若川,畢業(yè)于江西高校。現(xiàn)在是一名前端開發(fā)“工程師”。寫有《學(xué)習(xí)源碼整體架構(gòu)系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結(jié),已經(jīng)寫了7篇,點擊查看年度總結(jié)。
同時,最近組織了源碼共讀活動,幫助3000+前端人學(xué)會看源碼。公眾號愿景:幫助5年內(nèi)前端人走向前列。
識別上方二維碼加我微信、拉你進源碼共讀群
今日話題
略。分享、收藏、點贊、在看我的文章就是對我最大的支持~
總結(jié)
以上是生活随笔為你收集整理的Gitee 如何自动部署博客 Pages?推荐用这个GitHub Actions!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [html] input如何在各个浏览器
- 下一篇: 普林斯顿微积分读本篇三:极限导论