本週,我準備將我的命令列工具 VShell 發佈到生產環境。此版本將使使用者能夠直接透過 npm 安裝和使用 VShell,而無需在本機複製和建置專案。該工具使用 JavaScript 和 Node.js 編寫,將託管在 npm 上以便於分發。以下是我實現此版本所遵循的步驟的詳細分解:
為了確保可重複和自動化的構建,我在專案的根目錄中建立了一個 build.js 腳本。該腳本將所有必需的檔案複製到 dist 資料夾中,從而簡化了建置過程。
此外,我還在package.json中設定了一個腳本來運行它:
"build": "node build.js"
要運行它,只需在控制台輸入:npm run build
目前,我只是想演示一個簡單的構建作為複製文件,但將來,如果我用 UI 實現,那麼我需要使用模板捆綁腳本作為 barbel。
以前,我經常在更改後忘記更新專案版本。在此版本中,我採用了語意版本控制來清楚傳達專案 API 中的變更。
考慮到 v0.0.1 以來的重大更新,我透過更新 package.json 中的版本欄位將版本設為 v1.0.0。此版本反映了穩定的 API,具有重大變更和新功能。
為了與 GitHub 發布同步版本更新,我為 v1.0.0 建立了一個 Git 標籤:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
這可確保在 Git 儲存庫中正確追蹤發布。
為了將 VShell 發佈為 npm 套件,我使用 package.json 中的 files 欄位明確定義了要包含在套件中的檔案。這可確保發佈的套件中僅包含必要的檔案和目錄。
範例:
在 npm 上發布 VShell:
這使得使用者可以透過 npm 使用 VShell。
GitHub Dependabot 標記了傳遞依賴交叉產生的安全性問題。由於我沒有直接安裝,所以我使用了:
npm ls 交叉產生
辨識哪個包依賴它。我發現問題的根源是 eslint,並透過將 eslint 更新到最新版本解決了該問題。
此外,我更新了 README.md 以為 npm 使用者提供清晰的安裝說明。我還改進了 CONTRIBUTING.md 文件,以指導貢獻者在本地設定和運行 VShell。
為了提高準確性,我吸收了 David Humphrey 教授的回饋,擴展並澄清了 GROQ 系統文件。
為了簡化發布流程,我在 GitHub Actions 工作流程中新增了一項作業,以便在推送新標籤時自動執行 npm 發布。
工作流程新增:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
主要特點:
條件觸發:只有當標籤(v*.*.*)被推送時才會觸發發布作業。
npm 驗證:使用儲存在 GitHub Secrets 中的安全 NPM_AUTH_TOKEN。您可以透過前往您的 npm 帳戶並選擇「存取權杖」部分來建立此令牌。
GitHub Release:使用softprops/action-gh-release自動產生版本。
依照這些步驟,我成功地將 VShell 自動化發佈到 npm。使用者現在可以透過以下方式輕鬆安裝和使用該工具:
npm install -g vshell
這種簡化的流程,加上適當的版本控制、依賴關係管理和文件更新,確保了 VShell 的專業且用戶友好的發布。
以上是VShell:生產發布工作流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!