代码仓库: 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最好也不要这样用,太糙了。