[ 用戶投稿 ]使用 flow.ci 自動部署 Hexo

編者按:本文轉(zhuǎn)載自 flow.ci 用戶 @LAUERAY ,原文鏈接 在這里。


認識 flow.ci

之前的一篇博文中曾寫過使用 Travis CI 自動部署 Hexo,而這里的 flow.ci 和 Travis CI 其實也差不多的東西 --- 持續(xù)集成工具,并且且 flow.ci 被稱為國內(nèi)的 Travis CI,不過目前內(nèi)測中,相信不久就會正式發(fā)布,祝愿它越走越遠,超越 Travis CI。
關(guān)于 flow.ci 的更多介紹,大家可以去官方博客了解更多,此處引用官網(wǎng)主頁對于 flow.ci 的介紹。

融入 Workflow 機制的持續(xù)集成,讓代碼在 Build, Test, Deploy 間輕盈靈動

配置步驟

目前在網(wǎng)上能夠找到使用 flow.ci 自動部署 Hexo 的詳細教程只有 Juglans' Blog 博客作者的那一篇,但是作者提供的方法中把 id_rsa 私鑰文件放在博客源碼中,這在 Coding.net 私有庫中確實沒有問題,但對于我這樣同時把源碼托管在 GitHub 上的人來說是很危險的(購買了GitHub私有庫的小伙伴請自動回避),所以我并沒有按照作者的方式配置 flow.ci ,下面是我的詳細配置。

注冊 flow.ci

這是必要步驟,沒有 flow.ci 賬號后面的操作是無法進行的,有興趣的小伙伴可以去 flow.ci 官網(wǎng)申請內(nèi)測以獲取邀請碼。

flow.ci
flow.ci

創(chuàng)建項目

在 flow.ci 拉取倉庫源碼,創(chuàng)建相應(yīng)的項目進行自動部署,flow.ci 做的很人性化,過程都是傻瓜式操作。具體的按照下面的順序操作即可:
創(chuàng)建項目 -> 選擇代碼源 -> 選擇用戶 -> 選擇倉庫 -> 創(chuàng)建工作流 -> 選擇腳本模板

創(chuàng)建項目
創(chuàng)建項目

中間過程很簡單,就不一一截圖了。

選擇模板
選擇模板

設(shè)置觸發(fā)器

設(shè)置自動部署觸發(fā)器,因為我是把源代碼放在放在分支 hexo 中,博客靜態(tài)文件放在分支 master 中,所以我選設(shè)置為 push hexo 時觸發(fā)。

觸發(fā)器
觸發(fā)器

配置工作流

配置工作流,這里我們把 測試 部分刪掉,然后加上 自定義腳本。

自定義腳本
自定義腳本

腳本參考代碼如下

# 安裝Hexo命令行工具
flow_cmd "npm install hexo-cli -g" --echo

# 執(zhí)行Hexo生成
flow_cmd "hexo clean" --echo
flow_cmd "hexo g" --echo

# 執(zhí)行Hexo推送,這里沒有使用 hexo d,因為沒有權(quán)限
flow_cmd "cd ./public" --echo
flow_cmd "git init" --echo
flow_cmd "git config user.name "your name" " --echo  #修改name
flow_cmd "git config user.email "your email" " --echo  #修改email
flow_cmd "git add ." --echo
flow_cmd "git commit -m "site update" " --echo
flow_cmd "git push --force --quiet "git@git.coding.net:your name/reponame.git" master:master" --echo # 修改repo

配置 Token

我們創(chuàng)建項目后,flow.ci 會自動在 Coding.net 中添加部署公鑰,但是這個公鑰只有只讀權(quán)限,用于拉?。╣it clone)倉庫代碼,并沒有推送權(quán)限。

flow.ci
flow.ci

所以現(xiàn)在我們把它刪除,重新添加這個公鑰,并勾選推送功能,這樣這個公鑰就擁有了推送回 Coding.net 的權(quán)限了,提高了安全性。

coding.net
coding.net

測試

配置完后可以手動創(chuàng)建來測試一下是否成功,如不成功可以查看構(gòu)建日志來查找不成功的原因。

手動創(chuàng)建
手動創(chuàng)建

總結(jié)

本文介紹了 flow.ci 自動部署 Hexo 的過程,并且不存在私鑰原文保存在代碼庫的安全性問題。這樣一來我們就只需要寫好博文,向 Coding.net 源碼庫 git push 剩下的工作就全交給 flow.ci 來完成,并且即便是更換電腦不必像以前還要配置 hexo 。

DONE!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容