keywords: deploy, publish, release, CLI, npm, package.json
這篇將會是這個系列文章的最後一篇,到目前為止已經可以在「把專案推到 github 上」後,自動在 CI 上幫執行測試、打包專案、更新版號、建立 CHANGELOG、發佈到 npm、產生 commit 和在 Github 上產生 release tags。
最後一篇則要來說明 README 中常使用到的標章(badge)。先來看一些常見的標章,最後再說明如何產生相當重要的「程式碼測試覆蓋率(code test coverage)」標章吧!
在 README 中加入常見的...
2020年2月20日
2020年2月19日
發佈 npm 套件 - 從手動到自動(6):semantic-release 的外掛設定與自動產生 CHANGELOG
keywords: deploy, publish, release, CLI, npm, package.json
在上一篇文章中已經有透露如果要對 semantic-release 套用外掛(plugin)或進行更多的設定,可以在根目錄建立一支 .releaserc.json 的檔案,現在我們一樣可以透過這支檔案,來讓 semantic-release 自動產生 CHANGELOG.md 的檔案。
安裝 semantic-release 外掛
預設的情況下,semantic-release 就已經安裝了幾個外掛(plugin),像是 :
"@semantic-release/commit-analyzer"
"@semantic-release/github"
"@semantic-release/npm"
"@semantic-release/release-notes-generator"
為了要產生...
2020年2月17日
發佈 npm 套件 - 從手動到自動(5):semantic-release 自動發佈到 npm
keywords: deploy, publish, release, CLI, npm, package.json
在前一篇文章中,我們已經知道預設的情況下 semantic-release 它會自動在 CI 的過程中將套件發佈到 npm 上,如果你的套件是在本地打包好,而且最終打包好的 dist 資料夾也會上 git 的話,這麼做當然沒問題。然而,多數實際的情況是,dist 資料夾因為是打包壓縮過的專案,因此一般是會寫入 gitignore 中而不會上 git 的。
因此,在上篇文章的最後,你會發現透過 npm install 把我們的套件下載後,會發現套件裡面「空空的」而沒辦法使用。在這篇文章中我們會說明怎麼樣在...
2020年2月12日
發佈 npm 套件 - 從手動到自動(4):semantic-release 自動更新套件版號
keywords: deploy, publish, release, CLI, npm, package.json
在這篇文章中我們會先說明「語意化版本(semver)」,接著說明如何透過 semantic-release 這個工具結合 CI 來自動更新套件的版本。這篇文章算是這整個系列文章中相對最複雜的一篇,只要完成了這篇設定,只後的動作都會輕鬆很多。
語意化版本(semver)
既然要發佈到 npm 上,很重要的一點自然就是套件的版本號,而 npm 上所有的套件都是遵循「語意化版本」的「慣例」。
「語意化版本」的全名是 Semantic Versioning,常會簡稱為...
2020年2月7日
發佈 npm 套件 - 從手動到自動(3):整合 Travis CI 和 Github 進行自動化測試
keywords: deploy, publish, release, CLI, npm, package.json
在前一篇文章中我們已經說明了如何透過手動的方式將套件發佈上 npm,接著就可以進一步了解如何轉為自動化發佈,而自動化發佈的過程則有賴於「持續整合(Continuous Integration, CI)」的服務。
「持續整合」簡稱 CI,簡單來說,就是指當開發者把程式碼提交(commit)到 repository 後,可以自動地進行後續的一些動作,這些動作像是執行測試、打包原始碼、發佈和部署專案程式碼。例如,當開發者把程式碼發佈到 Github 上後,就可以透過 CI...