代碼倉庫: https://github.com/hilanmiao/LanMiaoDesktoplinux
當提交代碼到 Github 後,CI 自動拉取代碼,運行 electron-builder 相關命令,生成個平臺的安裝包,並將安裝包推送到 Github Releases 中。git
CI是持續集成的意思,持續集成強調開發人員提交了新代碼以後,馬上進行構建、(單元)測試。根據測試結果,咱們能夠肯定新代碼和原有代碼可否正確地集成在一塊兒。偷了張圖。 github
第三方的CI系統,它們可以幫咱們,在某些分支(好比master)發生了某些更新(好比更新了tag)的時候幫咱們執行某些腳本(好比構建、測試)。這樣就省卻了咱們在本地、多平臺構建的煩心事,並且讓一些都變得「自動化」了起來。json
針對Linux或者macOS的構建,咱們可使用Travis-CI,針對Windows平臺的構建,咱們可使用AppVeyor。Github開源項目都是免費的,可是若是你想私有庫持續集成,那就須要購買他們的服務了,價格不菲,或者你也可使用Jenkins,它是開源的,你能夠本身搭建持續構建環境,不少企業在用這個。windows
其實還有CD(持續部署)等,這裏咱們就不講了。app
electron-builder 須要 GH_TOKEN(Github Personal access token) 纔有權限上傳文件到 Github Releases 中。該 Token 在 github token 配置頁面 中進行設置。因爲咱們的 CI 只須要公用倉儲的訪問權限,因此只須要勾選repo > public_repo 複選框便可。這個 token 只顯示一次,須要記錄下來,咱們在 CI 中配置 GH_TOKEN 環境變量時要用到這個值。electron
Travis-CI 支持Linux 和 mac 平臺。直接關聯github帳號註冊登陸便可。成功後就能夠看到你的倉庫。測試
選擇倉庫後,等一段時間就能看到構建狀況了。網站
添加GH_TOKEN環境變量,值就是剛纔github配置的那個token。ui
剛開始確定是不順利的,記得看一下出錯的緣由,而後解決相應的問題,若是不行就看一下別人的是怎麼寫的,複製一下就行了。
nvm版本過低:
渲染進程錯誤,錯誤問題是我文件名是大寫的,這是我我的錯誤,大家不必定出現,參考下。
修改完error後,咱們發現終於成功了。時間還蠻長的呢,10幾分鐘。
怎麼release裏面啥也沒有?
分別在travis.yml 和 package.json中添加腳本。
electron-builder官網有說明識別這個「release」這個命令,之後你每次提交 master 分支和 vx.xx.xx 標籤到 github 時,travis 將自動構建 linux 和 osx 安裝包當發佈到 Github draft release。
諾,有了。
draft是草稿的意思,你能夠繼續「edit」,而後 「publish release」。v0.1,這個版本和package.json的version有關。
後面咱們還會完善這些腳本,由於後面咱們還要製做文檔網站等。
固然也要註冊了,AppVeyor是windows平臺。我使用Github直接登陸出錯,使用126郵箱也出錯,後來我換了Gmail就行了,而後綁定github登陸。
流程和Travis差很少,點擊受權按鈕進行受權,以後會出現你的倉庫,選擇你要構建的倉庫,點擊後面的「Add」,而後會給我發送了帳號激活郵件,激活就能夠了。
改一下settings,我主要是改了build分支爲master。
而後添加GH_TOKEN環境變量
appveyor.yml 這個文件目前不須要改
如今每次想發佈新版本時,只要更改package.json的version值就行了。提交代碼後就會自動構建了,最後的效果以下。
我上面的操做都是很簡單的,常規的最起碼有多個分支,例如dev分支只用來開發,master分支用來構建等。release最好也不要這樣用,太糙了。