發表文章

目前顯示的是 1月, 2023的文章

寫 Web 也可以用 Makefile:好好管理你的環境流程

圖片
說到跟別人一起程式專案的協作,我們要解決三個部分的共享:程式碼、環境、流程。程式碼我們大多使用 Git 來整合來自多方的程式碼貢獻,我們也已經盡可能地用 Docker 來解決執行環境的問題。那流程呢?我們常用的一些腳本跟流程該如何協作共享?這時候,Make 就派上用場了。 The GNU logo 你需要具備的內容 什麼是 Make/Makefile 為什麼要用 Make Hello World Makefile 的主要本體:Target Prerequisite 與 Phony Target 來點變數 做一些條件判斷 控制字串的輸出 組合技:管理不同環境的流程 克外補充:進階用法分享 註解的使用 取得當前 Target 名 Make 變數與 Shell Script 變數混用 變數內容可以為 Shell 執行結果 變數可以擴充 想要抽成 function? 剛提到了 info、shell 和 call,還有沒有其他神奇 Function 如果想要中間才執行 Prerequisite? 更多 Prerequisite 用法 進階變數使用 結語 你需要具備的內容 閱讀本篇文章,你可能需要具備以下內容,並依據實際所需調整範例: 包含有 Make 的環境(macOS 和多數 Linux 發行版皆有內建) 能使用 Docker 與 Docker Compose 基本指令 能使用 Shell 基本語法與指令 瞭解 .env 檔(dotEnv)的使用情境 能區分 Tab 字元與空白字元的差別 什麼是 Make/Makefile 如果你曾接觸過 Linux 軟體開發,應該對 Make 不陌生。Make 是一個 Cli 工具,透過 Makefile 檔案設計一系列的流程,讓我們執行單一指令就能自動化完成一連串的目的。Make 很常使用在 C/C++ 等編譯語言的軟體,方便其他使用者直接執行開發者設計好的編譯、測試、封裝等流程。 另外,雖然他叫做 Make,但由於 make 本身也是英文動詞,如果要描述或找資料的話,通常也會習慣稱呼其為 Makefile,或是 GNU Make。 為什麼要用 Make 也許你有疑問,那我們直接寫 Shell Script 是不是也可以達到類似目的呢?