Travis配置Github集成发布
写在前面
首先需要明确几个概念
- Tag与只与commit关联,与你在哪个分支给这个 commit 打tag 无关
下面是我的配置文件
1 | language: go |
在Github中,你上传的tag会同时出现在 releases 与 tags 面板
Github 中 releases 与 tags 面板的区别
https://stackoverflow.com/questions/28496319/github-a-tag-but-not-a-release
而对于 latest
的定义。只有你在这个 tag
对应的 commit
发布的文件。
也即 travis
向某个 commit
提交了额外的文件,而这时 commit
最新,github
自动让其成为 latest release
如果你想 在 提交到 master 分支且有 tag 时触发构建,你大概会使用如下的配置
1 | branches: |
但最后的结果不会如你所愿。
https://stackoverflow.com/questions/30156581/travis-ci-skipping-deployment-although-commit-is-tagged
Travis 区分如下几个条件
- 由 分支 触发构建
- 由 tag 触发构建
所以你的推送会分别触发两个条件,而不会等两个条件都满足才触发。
所以我在后面的 commit 中移除了 branches.only.master
https://github.com/iamwwc/wwcdocker/commit/b244db052a2bc2becc80cbe8bcb5afa76b84de64