9

如何从Travis-CI 的命令中获取build_number(和其他构建元数据) ?after_script

已经尝试过的内容:

关于构建配置的文档在IRC 通知部分中说明了这一点:

您还可以使用模板自定义将发送到频道的消息:

notifications:
  irc:
    channels:
      - "irc.freenode.org#travis"
      - "irc.freenode.org#some-other-channel"
    template:
      - "%{repository} (%{commit}) : %{message} %{foo} "
      - "Build details: %{build_url}"

您可以插入以下变量:

  • 存储库:您的 GitHub 存储库 URL。
  • build_number:内部版本号。
  • 分支:分支构建名称。
  • commit : 缩短提交 SHA
  • 作者:提交作者姓名。
  • message : 给构建的 travis 消息。
  • compare_url:提交更改视图 URL。
  • build_url:构建详细信息的 URL。

试图让它在如下after_script命令中工作,根本不起作用:

language: java
after_script:
  - git commit -a -m "Committed by Travis-CI build number: %{build_number}"

它表现得好像.travis.yml文件不存在/无效(即使它确实通过了 Travis-CI YAML 验证here)。

似乎这应该是可行的,但找不到任何这样做的样本。

有人能指出我正确的方向吗?

4

2 回答 2

11

不幸的是,您可以为 IRC 输出执行的字符串替换只能在那里工作。它们通常仅用于通知,自定义输出,但目前仅适用于 IRC。

通过访问 TRAVIS_JOB_ID 环境变量,仍然可以获取当前的内部版本号。如果您将脚本更改为以下行,事情应该会按预期工作:

after_success:
  - git commit -a -m "Committed by Travis-CI build number: $TRAVIS_JOB_ID"
于 2012-09-28T16:36:13.820 回答
0

我在我的部署脚本中使用它:

git commit -am "Auto deploy from Travis CI build $TRAVIS_BUILD_ID"

有关Travis CI 文档的更多信息。

于 2018-04-16T08:22:34.377 回答