如何在travis上使用文件模式部署到github?

时间:2014-09-19 08:09:20

标签: github travis-ci

我创建了一个简单的travis配置,它打包应用程序并尝试将存档文件部署到github。 问题是,我希望文件名的版本号部分,所以我需要使用文件名的模式。我根本无法让它发挥作用。

目前配置:

deploy:
  provider: releases
  file: "build/distributions/worktrail-app-hub-sync*.zip"
  on:
    repo: worktrail/worktrail-app-hub-sync
    tags: true
    all_branches: true

但它失败了:“/ home /travis / .rvm / gems / ruby​​-1.9.3-p547 / gems / octokit-3.3.1 / lib / octokit / client / releases.rb:86:in`initialize ':没有这样的文件或目录 - build / distributions / worktrail-app-hub-sync * .zip(Errno :: ENOENT)“ - 但文件肯定存在:build / distributions / worktrail-app-hub-sync-0.0 .1.zip

示例运行:https://travis-ci.org/worktrail/worktrail-app-hub-sync/builds/35704111 travis.yml:https://github.com/worktrail/worktrail-app-hub-sync/blob/0.0.1/.travis.yml

是否支持travis部署,或者此用例是否有解决方法?

3 个答案:

答案 0 :(得分:38)

如果您启用file_glob选项,则现在支持通配符。这就是我将构建.deb文件部署到GitHub版本的方式:

before_deploy:
  - export RELEASE_PKG_FILE=$(ls *.deb)
  - echo "deploying $RELEASE_PKG_FILE to GitHub releases"
deploy:
  provider: releases
  api_key:
    secure: YOUR_ENCRYPTED_API_KEY
  file_glob: true
  file: "${RELEASE_PKG_FILE}"
  on:
    tags: true

通过使用虚拟文件名执行travis setup releases并在之后修改.travis.yml,设置很容易。

答案 1 :(得分:10)

deploy:
  file_glob: true
  file: "build/distributions/worktrail-app-hub-sync*.zip"

example

答案 2 :(得分:2)

很抱歉,通配符模式暂时不起作用,但我们将在Travis CI上进行调查。