Gitee 如何自動部署博客 Pages?推薦用這個GitHub Actions!

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。

前段時間我把自己的博客,用 github action 自動同步到 https://lxchuan12.gitee.io 持續部署了。想寫篇文章來著,發現有人寫了。推薦給大家。點擊文末底部閱讀原文是我的博客同步配置,可供參考。


Gitee Pages

在上篇《一篇教你代碼同步 GitHub 和 Gitee》[1]中,我們使用 GitHub Actions 解決了 GitHub 代碼自動同步 Gitee 的問題,但我們的博客倉庫代碼同步到 Gitee 后,并不能像 GitHub 一樣自動部署 Pages,如果不使用付費的 Gitee Pages Pro 服務,那我們該怎么實現 Gitee 自動部署 Pages 呢?

GitHub Actions

答案是接著使用 GitHub Actions!你可能會想,Gitee 也有 GitHub Actions 服務嗎?Gitee 也會像 GitHub 一樣檢測 .github/workflows/ 目錄下的 YAML 文件,然后執行嗎?

這當然是不可能的,Gitee 并不支持 GitHub 的這套方式,但我們為什么一定要借用 Gitee 的能力呢?我們在 GitHub Actions 中,模擬登陸 Gitee,點擊項目的部署按鈕,不也是一種實現方式嗎?

搜索 Actions

我們接下來去找一些合適的 GitHub Actions,我們可以在 GitHub 的官方市場[2],或者 awesome actions[3] 倉庫,再或者直接在 GitHub 搜索比如 gitee pages actions 之類的關鍵詞。

28c8daea0b316dc7dd5eea0004821ea5.png


最終,我們決定使用 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?倉庫,倉庫名嚴格區分大小寫,請準確填寫,否則會出錯gitee-repo:?doocs/leetcode#?要部署的分支,默認是?master,若是其他分支,則需要指定(指定的分支必須存在)branch:?main

我們之前已經實現了 GitHub 代碼同步 Gitee,這里我們直接使用后半部分的自動部署 actions,結合上篇的 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?倉庫,倉庫名嚴格區分大小寫,請準確填寫,否則會出錯gitee-repo:?mqyqingfeng/learn-typescript#?要部署的分支,默認是?master,若是其他分支,則需要指定(指定的分支必須存在)branch:?gh-pages

注意不要忘了在倉庫的設置里添加 Secrets,輸入 Gitee 的登陸密碼,然后保存名為 GITEE_PASSWORD

YAML 文件語法報錯

如果 Actions 運行失敗并出現了這種錯誤:

e3cedf37fee74ff47a134a2486bf9802.png

這是因為你的 YAML 語法寫的有問題,可能是哪里沒有對齊。可以在這個網址[5]校驗下你的 YAML 文件,也可以順便看下阮一峰老師的 YAML 語言教程[6]

再次運行

修改了代碼之后,我們可以再執行一遍 sh deploy.sh,然后在 GitHub 上查看運行情況:

0d80e23621f8f5200fb82d1cb0987e8f.png

當運行成功,我們再查看 Gitee 的地址,就會發現已經部署為最新的版本了。

至此,實現了 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]

這個網址: https://verytoolz.com/yaml-formatter.html

[6]

YAML 語言教程: https://www.ruanyifeng.com/blog/2016/07/yaml.html


6e50a2fe177202002c7864a20c1c90f8.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

185b618ca8f32efa7eb298d188c054d1.png

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275061.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275061.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275061.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java io流學習總結(三)

轉載于:https://www.cnblogs.com/ll409546297/p/7197911.html java.io幾種讀寫文件的方式 一、Java把這些不同來源和目標的數據都統一抽象為數據流。 Java語言的輸入輸出功能是十分強大而靈活的。 在Java類庫中,IO部分的內容是很龐大的,因為它…

現在流行的畫原型圖工具_原型資源圖:8種流行原型工具的綜合指南

現在流行的畫原型圖工具Although tools are not the most important things to learn as a UX designer, inevitably you need to use it in order to achieve your more important goals, to solve user’s problems. This article covers today’s 8 popular UX prototyping …

持續5個月,200+筆記,3千多人參與,邀請你來學源碼~

注意:本文點擊文末閱讀原文可查看文中所有鏈接。我正在參加掘金年度人氣作者投票活動,大家有空可以加微信群幫忙投票,感謝大家!想起今天還沒發文,就開放下微信群二維碼,大家掃碼進群讀源碼和幫忙投票吧。群…

自己動手開發調試器 01

背景: 在做XXX編譯器檢證時經常需要區分是代碼端錯誤,還是編譯器端錯誤,因此對代碼進行調試是必不可少的。但是狗日的甲方并沒有提供對應的調試器XXXDB,而用GDB調試XXX生成的可執行程序很不穩定,經常出現異常,干脆…

02如何抓住重點,系統高效地學習數據結構與算法?

以下內容總結自極客時間王爭大佬的《數據結構與算法之美》課程,本文章僅供個人學習總結。 什么是數據結構?什么是算法? 從廣義上講,數據結構就是指一組數據的存儲結構。算法就是操作數據的一組方法。 類比圖書館的書籍,我們如果想找一本書可…

第2年,倒數第3天,1.5萬票,感動!

1源碼共讀大家好,我是若川。眾所周知。從8月份開始,我組織了源碼共讀活動,至今已經有5個月了,每周一期,進行到了第18期。每周堅持寫源碼解讀文章,每天堅持答疑解惑,幫助了很多人學會看源碼&…

啟發式搜索給神經網絡_神經科學如何支持UX啟發式

啟發式搜索給神經網絡重點 (Top highlight)Interaction and UX designers have long known and used heuristics to guide the creation of a user-friendly interface. We know empirically that these principles work, and they make “common sense”. These heuristics th…

Django實戰(1):需求分析和設計

Depot是《Agile Web Development with Rails》中的一個購物車應用。 該書中用多次迭代的方法,逐步實現購物車應用,使很多人走上了rails開發的道路。 遺憾的是Django世界中好像沒有類似的指引,也許是因為pythoner 不需要具體的例子。 但是如果…

使用 apiDoc 為你的Node.js API 生成文檔

翻譯: 瘋狂的技術宅 原文:jonathas.com/documenting… 未經許可,禁止轉載! 當你為其他開發人員(前端,桌面,移動等)開發 API 時,需要生成一份風格良好的文檔,以…

海浪 shader_海浪下的發現

海浪 shaderI’ve been playing Subnautica for over 25 hours now, and likely have at least that many more to go. The game puts you in the shoes of a crew member on the Aurora, a spaceship that suffers a catastrophic incident and plummets to the largely ocean…

最后一天,特邀小姐姐配音拉票,今日可投28票

1源碼共讀大家好,我是若川。最后一天,特邀小姐姐配音拉票,超級好聽。眾所周知。從8月份開始,我組織了源碼共讀活動,至今已經有5個月了,每周一期,進行到了第18期。每周堅持寫源碼解讀文章&#x…

NET中使用Memcached的相關資源整理

本文轉自:http://www.cnblogs.com/dudu/archive/2009/07/19/1526407.html Memcached官方站點:http://www.danga.com/memcached / Memcached Win32 1.2.6下載:http://code.jellycan.com/memcached/ 安裝幫助:Windows下的.NET Memca…

FFMPEG 視頻圖像解封裝解碼

FFMPEG4.0 音頻解碼解封裝FFMPEG 音頻封裝編碼 下面的函數方法基于最新的FFMPEG 4.0(4.X):本文講是如何從一個視頻文件中提取出其中的圖像數據,并將圖像數據保存到文件中。 解碼解封裝的過程與音頻差不多,具體如下&…

對數據可視化的理解_使數據可視化更容易理解

對數據可視化的理解Data is weaving its way into almost all aspects of our lives since the past decade. Our ability to store more information in smaller and smaller spaces has encouraged us to make sure we leave no information out. The ease of collecting inf…

面試官:項目中常用的 .env 文件原理是什么?如何實現?

1. 前言大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。本文倉庫 h…

語言分類,我接觸和我想學習的

本文信息和數據出自hyperpolyglot,將當前主流編程語言分為11個大類,分別為:解釋型(PHP,Perl,Python,Ruby,Tcl,Lua,JavaScript,Io)、操作系統自動化型(POSIX Shell,AppleScript,PowerShell)、C風格(C,Objective C,Java,C#)、Pascal風格(Pascal…

梯度下降法和隨機梯度下降法

1. 梯度 在微積分里面,對多元函數的參數求?偏導數,把求得的各個參數的偏導數以向量的形式寫出來,就是梯度。比如函數f(x,y), 分別對x,y求偏導數,求得的梯度向量就是(?f/?x, ?f/?y)T,簡稱grad f(x,y)或者▽f(x,y)。對于在點(x…

一張圖看程序媛阿源的2021個人年度流水賬

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。本文來自讀者阿源小…

案例研究:設計與方法_如何進行1小時的重新設計(案例研究)

案例研究:設計與方法速度設計簡介 (Intro to Speed Designing) I’ve been an advocate of speed redesigning technique for a while. The idea is simple — decrease the hand-eye lag and make super quick decisions, seemingly without thinking. The logic behind it is…

圖文并茂重新認識下遞歸

大家好,我是若川。持續組織了5個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。對于大部分前端(包…