極速搭建一個個人博客網(wǎng)站
時間:2023-08-08 02:21:01 | 來源:網(wǎng)站運營
時間:2023-08-08 02:21:01 來源:網(wǎng)站運營
極速搭建一個個人博客網(wǎng)站:Github 為開源項目提供了用于靜態(tài)頁面展示的 Pages 服務,很多開發(fā)者都在上面托管了自己的靜態(tài)網(wǎng)站和博客,不少開源項目的案例和文檔頁面也采用了這種方式。不過由于 Pages 的 CDN 節(jié)點大部分在國外,在國內(nèi)的訪問速度不是很理想,不少開發(fā)者希望能
提升網(wǎng)站在國內(nèi)的訪問速度和穩(wěn)定性,今天會介紹如何配合 Github Action 的持續(xù)集成服務和
云開發(fā) Github Action 擴展,自動部署到訪問速度更快的云開發(fā)靜態(tài)托管服務。
云開發(fā)靜態(tài)托管是云開發(fā)提供的一種靜態(tài)網(wǎng)站托管能力,靜態(tài)資源(HTML、CSS、JavaScript、字體等)的分發(fā)由騰訊云對象存儲 COS 和擁有多個邊緣網(wǎng)點的騰訊云 CDN 提供支持。
云開發(fā)靜態(tài)托管介紹
云開發(fā)靜態(tài)托管是云開發(fā)提供的靜態(tài)網(wǎng)站托管的能力,靜態(tài)資源(HTML、CSS、JavaScript、字體等)的分發(fā)由騰訊云對象存儲 COS 和擁有多個邊緣網(wǎng)點的騰訊云 CDN 提供支持。可以通過騰訊云控制臺、命令行工具以及下面會提到的
云開發(fā) Github Action 進行管理部署。云開發(fā)提供了免費的二級域名(未綁定自定義域名時下行速度有限制),同時支持免費綁定開發(fā)者自己的
自定義域名。
首個環(huán)境可享受
1GB 容量和每月
5GB 流量的免費額度,對于訪問量不是很大的個人博客應該足夠了。如果流量大也沒關系,計費是按照具體使用收費的按量付費方式,具體信息可以查看計費價格文檔
https://cloud.tencent.com/product/wh/pricing云開發(fā)靜態(tài)托管部署的網(wǎng)站,還可以使用云開發(fā)的提供的
一站式 Serverless 后端能力,例如云函數(shù)、云數(shù)據(jù)庫、云存儲、身份服務等。比如可以在靜態(tài)托管的個人博客上面使用云函數(shù)和云數(shù)據(jù)庫實現(xiàn)
評論、留言板功能等,或者可以把博客的內(nèi)容管理從原來的靜態(tài)文件部署變?yōu)?b>動態(tài)內(nèi)容管理等,拓展的用法非常的多,開發(fā)者可以繼續(xù)深入探索。
如何通過 Github Action 一鍵部署到云開發(fā)
下面演示如何將 Github 靜態(tài)頁面自動部署到云開發(fā)的靜態(tài)托管,來獲得穩(wěn)定的訪問速度和更多的擴展能力。
例如開發(fā)者的個人博客 Github 項目結構如下:
|-- src|-- build|-- README.md
希望將項目下
build
目錄生成的靜態(tài)網(wǎng)站代碼部署到云開發(fā)這邊開通的靜態(tài)網(wǎng)站托管的根目錄下。
編寫 Github Action 文件
首先在項目目錄配置如下的 Github Action 文件
.github/workflows/main.yml
,如果已經(jīng)配置過 Github Action 就不需要重新創(chuàng)建了,然后參考下面的配置填寫。
on: [push] # push 代碼時觸發(fā)jobs: deploy: runs-on: ubuntu-latest name: Tencent Cloudbase Github Action Example steps: - name: Checkout uses: actions/checkout@v2 # 使用云開發(fā) Github Action 部署 - name: Deploy static to Tencent CloudBase id: deployStatic uses: TencentCloudBase/cloudbase-action@v1 with: # 云開發(fā)的訪問密鑰 secretId 和 secretKey secretId: ${{ secrets.SECRET_ID }} secretKey: ${{ secrets.SECRET_KEY }} # 云開發(fā)的環(huán)境id envId: ${{ secrets.ENV_ID }} # Github 項目靜態(tài)文件的路徑 staticSrcPath: build
可以看到配置中主要用到了
云開發(fā) Github Action 擴展 TencentCloudBase/cloudbase-action@v1
來部署靜態(tài)文件。
注意配置文件中參數(shù)部分的
secretId
、
secretKey
、
envId
屬于敏感信息,需要放在項目的
secret
存儲中,這里不用填寫真實的值,只需要按照上面實例填寫變量即可。
staticSrcPath
這里填寫了靜態(tài)網(wǎng)站構建產(chǎn)生的目錄
build
,如果想把靜態(tài)資源部署到云端的某個子目錄而不是根目錄,可以再配置一個參數(shù)
staticDestPath
。
配置云開發(fā)訪問信息
我們還需要在項目的 Secrets 中配置
SECRET_ID
、
SECRET_KEY
、
ENV_ID
這幾個私密信息,下面是具體的配置方式。
首先要開通云開發(fā)靜態(tài)網(wǎng)站,可以參考開通指南:
https://docs.cloudbase.net/hosting/,開通環(huán)境后在
云開發(fā)環(huán)境列表 頁面即可得到環(huán)境ID
ENV_ID
,然后在騰訊云
訪問管理 頁面可以配置一對 API 訪問密鑰,也就是
SECRET_ID
、
SECRET_KEY
。
然后在自己的 Github 項目內(nèi)的
Setting/Secrets
里設置
SECRET_ID
,
SECRET_KEY
,
ENV_ID
信息即可。
配置完之后就可以提交代碼體驗自動部署了,每次
git push
Actions 都會自動運行,將項目的靜態(tài)資源部署到自己的云開發(fā)靜態(tài)托管環(huán)境,部署成功之后即可通過云開發(fā)提供的二級域名訪問來自己的網(wǎng)站。
配置自定義域名
云開發(fā)提供的免費的二級域名下行速度有所限制,開發(fā)者最好綁定一個自己的域名,綁定域名是免費的,還可以在騰訊云配置一個免費的 SSL 證書,來通過 HTTPS 訪問自己的網(wǎng)站。
自定義域名的方法可以參考這篇文檔
https://docs.cloudbase.net/hosting/custom-domain.html配置完成后,測試下部署在云開發(fā)靜態(tài)托管的網(wǎng)站的訪問速度,根據(jù)測速數(shù)據(jù)可以看到各地的訪問速度都非常快。
更多擴展用法
云開發(fā) Tencent CloudBase Github Action 這個擴展會 Github 項目自動部署到云開發(fā)環(huán)境,目前支持靜態(tài)托管功能,后續(xù)會支持其他資源的部署,比如可以把用 Node JS 、 Java、PHP 等語言開發(fā)的
服務端項目一鍵部署到云開發(fā),來獲得
Serverless 化的動態(tài)網(wǎng)站服務?;蛘?b>自動化部署帶有數(shù)據(jù)庫、前端、后端的全棧應用。
Tencent CloudBase Github Action 擴展市場地址:
https://github.com/marketplace/actions/tencent-cloudbase-github-actionTencent CloudBase Github Action 代碼開源地址:
https://github.com/TencentCloudBase/cloudbase-action歡迎大家多多體驗、Star 支持或者提交 Issue / Pull request 來參與貢獻。
開發(fā)者扶持
云開發(fā)還推出了【9.9元靜態(tài)網(wǎng)站托管包年贊助計劃】。只要你是技術博客/技術站點,遷移至云開發(fā)靜態(tài)網(wǎng)站托管服務后,即可申請該贊助計劃。 申請方式鏈接:
https://url.cn/5nFAtxq 靜態(tài)網(wǎng)站托管產(chǎn)品介紹:
https://cloud.tencent.com/product/wh作者: bookerzhao,騰訊 CSIG web前端開發(fā)工程師
更多精彩盡在 騰訊技術,公眾號同名.