您的位置:首页 > 其它

Electron开发实战之记账软件12——通过CI系统自动构建与发布

2019-04-29 16:47 1376 查看
原文链接:https://my.oschina.net/u/3667677/blog/3044025

代码仓库: https://github.com/hilanmiao/LanMiaoDesktop

当提交代码到 Github 后,CI 自动拉取代码,运行 electron-builder 相关命令,生成个平台的安装包,并将安装包推送到 Github Releases 中。

什么是CI?

CI是持续集成的意思,持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。偷了张图。

第三方的CI系统,它们能够帮我们,在某些分支(比如master)发生了某些更新(比如更新了tag)的时候帮我们执行某些脚本(比如构建、测试)。这样就省却了我们在本地、多平台构建的烦心事,而且让一些都变得「自动化」了起来。

针对Linux或者macOS的构建,我们可以使用Travis-CI,针对Windows平台的构建,我们可以使用AppVeyor。Github开源项目都是免费的,但是如果你想私有库持续集成,那就需要购买他们的服务了,价格不菲,或者你也可以使用Jenkins,它是开源的,你可以自己搭建持续构建环境,很多企业在用这个。

其实还有CD(持续部署)等,这里我们就不讲了。

生成 GH_TOKEN

electron-builder 需要 GH_TOKEN(Github Personal access token) 才有权限上传文件到 Github Releases 中。该 Token 在 github token 配置页面 中进行设置。由于我们的 CI 只需要公用仓储的访问权限,所以只需要勾选repo > public_repo 复选框即可。这个 token 只显示一次,需要记录下来,我们在 CI 中配置 GH_TOKEN 环境变量时要用到这个值。

Travis-CI

Travis-CI 支持Linux 和 mac 平台。直接关联github账号注册登录即可。成功后就可以看到你的仓库。

选择仓库后,等一段时间就能看到构建情况了。

添加GH_TOKEN环境变量,值就是刚才github配置的那个token。

刚开始肯定是不顺利的,记得看一下出错的原因,然后解决相应的问题,如果不行就看一下别人的是怎么写的,复制一下就好了。

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

当然也要注册了,AppVeyor是windows平台。我使用Github直接登录出错,使用126邮箱也出错,后来我换了Gmail就好了,然后绑定github登录。

流程和Travis差不多,点击授权按钮进行授权,之后会出现你的仓库,选择你要构建的仓库,点击后面的“Add”,然后会给我发送了账号激活邮件,激活就可以了。

改一下settings,我主要是改了build分支为master。

然后添加GH_TOKEN环境变量

appveyor.yml 这个文件目前不需要改

现在每次想发布新版本时,只要更改package.json的version值就好了。提交代码后就会自动构建了,最后的效果如下。

如果还想了解更具体信息

我上面的操作都是很简单的,常规的最起码有多个分支,例如dev分支只用来开发,master分支用来构建等。release最好也不要这样用,太糙了。

https://www.electron.build/configuration/publish

转载于:https://my.oschina.net/u/3667677/blog/3044025

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐