網站開發網站(騰訊前端開發工程師)

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


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/52250/