如何使用Travis CI增加版本号?

Nig*_*888 13 github travis-ci

我正在研究的项目是一个jQuery插件.我成功地让Travis CI使用Gulp/NodeJS构建了一个测试项目.现在我正在尝试找出用于提升版本号的工作流程.

在TeamCity和MyGet中,CI服务器中有一个设置,用于形成版本号模式,该模式在每个构建时自动递增,构建脚本可以使用它来更新部署文件中的版本并标记Git存储库.但是,在Travis CI的免费版本中,似乎根本没有版本控制选项.

我已经阅读了几篇关于使用Travis CI进行持续部署的文章,这里,这里这里,但他们都没有提到版本控制的主题.显然,需要为发布版本更改版本.那我在这里错过了什么?

我在阅读文档时注意到的另一个问题是它提到Travis CI无法更新GitHub存储库.这不是基本上意味着它将无法创建Git标签吗?

如果无法从Travis CI获得版本,那么这种插件的发布过程的典型工作流程是什么?版本控制总是手动完成吗?如果是这样,怎么会有"持续部署"?

Bee*_*tle 6

在开始运行.travis.yml文件中的指令之前,Travis将设置一堆环境变量(在正在构建项目的VM中),其中包含有关构建的各种信息,例如正在构建的分支等。

您可能需要以下之一:

  • TRAVIS_BUILD_NUMBER:当前内部版本号(例如“ 4”)。
  • TRAVIS_JOB_NUMBER:当前作业的编号(例如,“ 4.1”)。

但是,如果您无法控制存储库,那么做任何明智的事情将非常困难,因为您需要将.travis.yml文件上传到源代码文件夹的根目录中,否则Travis将不知道该怎么做。


rol*_*ebi 5

如果您认为每个PR都必须最终交给最终用户,而无需考虑此类更改的影响,那么您的版本号就没有意义。

您无法让用户知道这是否是破坏兼容性或错误修复的重大更改。您不允许他在不担心向后兼容性的情况下进行更新。

当前,提交ID是您的版本号。

如果要给版本号赋予含义,则必须考虑拉取请求对最终用户的影响(http://semver.org/)。您必须为特定PR或一组PR选择版本号。

因此,基本上,由于必须为要交付的特定版本“考虑”特定版本号,因此无法自动执行此过程。

创建发布/标签是一种方法:)


Fil*_*vić 5

使用凹凸版进行版本控制。当您对master的更改感到满意时,请运行:

bumped release <major|minor|patch>
Run Code Online (Sandbox Code Playgroud)

直接或通过发行PR进行更改后,可以检查Travis CI中是否存在新标签,并将软件包自动发布到注册表。