关于在travis-ci以及appveyor条件构建遇到的坑

前言

在上篇《基于Electron-Vue开发了一款美图搜罗器》文章中有提到过关于在自动化构建的方面花费了很长的时间,实际上这是一个相对比较头痛的问题,之前每次commit到github之后,travis-ci以及appveyor都会进行build,不过有时候我们就是修改了与业务无关的东西,比如readme之类的,不需要重新build,这个时候我们就需要使用条件构建,这里最好的办法就是通过推送tag来进行触发构建。
关于在travis-ci以及appveyor条件构建遇到的坑

travis-ci

关于在travis-ci中,我在官方的文档中并没有找到关于通过tag来进行触发构建的说明,可以或许会有遗漏,后面在官方github仓库的issue中发现了有人曾经提出来过,具体可以参考:https://github.com/travis-ci/travis-ci/issues/6893,于是参考着改了之后我的.travis.yml就是如下所示:

appveyor

appveyor的可以参考官方的https://www.appveyor.com/docs/appveyor-yml/中可以看出,在appveyor.yml中添加skip_non_tags: true即可使用tag来触发构建,于是改了之后我的appveyor.yml为:

当上面的配置好了之后,我以为到此我就可以愉快的使用git push --tags来触发构建了,但是实际情况并不是那么如意,当我试过多次之后并没有触发构建,而是像一只死鱼一般寂静 :sad:
后来终于看到一篇文章《更简单地用Travis自动发布GitHub Releases》中提到:

要注意,如果此前设置过CI的分支限制,tags: true不会生效。 因为,对Travis来说,Tag也算是一种branch。

去掉以上代码块,否则自动发布将不会执行。

于是乎,我将travis-ci以及appveyor配置文件中的相关配置移除,再执行了一次git push --tags,果不其然,成功了!
关于在travis-ci以及appveyor条件构建遇到的坑

后记

关于持续构建是对于现在的软件编译发布必要的东西,它可以减少大量的重复性的工作而减少我们的工作量,所以未来我会将线上可以进行自动化构建服务全部都完成此操作,加油! :smile:

    A+
所属分类:CI

发表评论

请在下方填写评论信息

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

表情 粗体 斜体 图片 引用 链接 删除线 下划线 插代码 签到

目前评论:3   其中:访客  2   博主  1

  1. avatar repostone 1  来自天朝的朋友 谷歌浏览器 Windows 8.1 北京市 移动

    非技术的路过。

  2. avatar 托管中心加盟 0  来自天朝的朋友 火狐浏览器 Windows 10 山东省 电信

    加油!