我创建了一个简单的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部署,或者此用例是否有解决方法?
答案 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"
答案 2 :(得分:2)
很抱歉,通配符模式暂时不起作用,但我们将在Travis CI上进行调查。