本篇分享如何使用 Fleek 免費方案,連接 github 建立 CI/CD 流程,只要推送 commit 上 github,就能自動 build 並 deploy 到 IPFS 以及 Fleek 的 CDN,還能綁定自己買的網域!且不一定只限於 Web3,也能部署一般前端應用。立刻來試試吧!
建立新網站
申請新帳號後,會引導至 Create a new site
,若不小心跳開,可以回到 Dashboard / Hosting 頁面點擊 Add new site
。
點選 Connect with Github
,選擇要授權於 Fleek 的 Repository,即可進入下一步
接下來選擇 Deploy location
,可選擇 IPFS
或 Internet Computer
,這邊以 IPFS 為例
最後一步,設定 Build options
。Fleek 已經支援相當多前端框架,如 React、NextJS 等等。
如果你用的框架沒有支援到也沒關係,以 Angular 為例:
- Framework 選擇
Other
- Docker Image Name 輸入
node:14.17.6-slim
(node 版本可依需求改變) - Build Command 輸入
npm install && npm run script ng build <proj_name>
- Publish Directory 輸入
dist/<proj_name>
下面點開 Show Advanced
可以輸入 build 需要的環境變數
這邊解釋一下 Build Command,因為透過 npm 讀取 package.json 安裝 angular cli,而不是用 npm install -g @angular/cli
,所以沒有全域的 ng
指令。可以透過 npm run script ng
來解決。
自動化 CI/CD
設定完畢,Fleek 會立刻觸發第一次自動化 CI/CD 流程
看到這個訊息,表示網站正式上線囉!
Fleek 也會自動將檔案上傳至 IPFS
使用 Fleek 子網域
網站預設使用 Fleek 子網域 <site_name>.on.fleek.co
,其中 site_name
可以自訂沒人使用過的字串
綁定網域
如果不想為 fleek 打廣告,也能免費綁定自己的網域。在 Settings / Domain Management 頁面中,點擊 Add Custom Domain
輸入你的 domain,點擊 Verify
,再點擊 Yes, Add Domain
接下來設定 DNS,依照對話框提示設定 domain CNAME 以及 DNS Link。
若是透過 CloudFlare 做 DNS,記得 Proxy 狀態需選擇 僅 DNS
才能成功哦!
Fleek 同時會幫你搞定 https 簽證,是不是很 friendly 呢?
實際測試網站速度非常快,推測透過網址連入時,應該是走 Fleek 部署的 CDN(推測架設在 AWS)。因為用 Fleek 提供的 IPFS Gateway 查看 CID 還是非常的慢,看來是為了效率選擇 Hybrid 的解決方案。
整個流程非常的簡單順暢,就算網站只是個簡單部落格也能使用!而且免費方案流量非常足夠,還能用一下 IPFS,大家趕快嘗試看看吧!
延伸閱讀:
如何用 IPFS 架設去中心化網站?
用前端框架開發 IPFS Web3 DApp 有哪些坑?
能夠用 Web3.js 做去中心化的 NFT Dapp 嗎?
實測!用 Unstoppable Domains 鑄造區塊鏈域名並架站