為了達到更新文章後 Jenkins 自動更新部落格這個目標 首先必須知道如何使用 Jenkins compil…
Jenkins 上有個 hugo plugin
但最後更新時間在三年前,使用者也只有21人
安裝後也不負眾望,沒有起任何作用

如果是在 windows 上要打包hugo專案
因為已將 hugo.exe 設定到環境變數
只要開個 cmd 並切換到專案目錄,下hugo -F
指令即可
那怎麼在 Jenkins 裡打包 hugo 專案呢?
尤其因為先前 AdGuard 的問題,目前我的 Jenkins 是架在 Docker 裡
以下我們依照步驟來講解
讓 docker 可以吃到 hugo 執行檔
- 下載執行檔,只要到官方 github 下載對應自身作業系統的執行檔
而 docker 屬於 linux 系統
所以我們可以下載hugo_0.94.2_Linux-64bit.tar.gz
- 將執行檔放進 docker 裡,設定 docker 容器時,
我們會把需要保存的資料放在 host 主機上,防止容器重啟後資料遺失
下載的 hugo 檔可以直接放到這樣的資料夾裡
需注意的是,hugo_0.94.2_Linux-64bit.tar.gz 是個壓縮檔
必須解壓縮後再放入,我們最終需要的是這個檔名為 hugo 的檔案

設定Jenkins組態
依照先前的思路,我們現在有了hugo執行檔
設定環境變數後,就可以執行hugo -F
來打包專案
所以可以這樣設定建置的shell
# 設定環境變數,後面路徑須改為你的hugo執行檔目錄
export PATH="$PATH":/var/jenkins_home/plugins/hugo
# 打包專案
hugo -F

以上提供一個 Jenkins 打包 hugo 專案的流程給大家
肯定會有更好的做法
說不定已經有 plugin 可以使用
或是直接在建置 docker 時把 jenkins 和 hugo 都搞好
但由於 docker 我還沒有很熟悉
是直接使用 jenkins 官方的 image
未來也希望透過寫文章來驅使自己學習 docker
謝謝大家