2014-09-19 48 views
25

我已經創建了一個簡單的Travis配置,它打包一個應用程序並嘗試將存檔文件部署到github。 問題是,我想要文件名的版本號部分,所以我需要使用一個模式的文件名。我根本無法讓它工作。如何部署到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

可能他們做一下事情的文檔會更容易一點.. – 2017-08-29 12:18:54

回答

33

如果啓用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

甚至「file_glob:真正的」不再需要時下 – hennr 2015-09-18 11:48:54

+4

的「file_glob:真正的」對我來說是必須的,所以@hennr信息似乎不正確。 – cburgmer 2016-05-21 12:46:14

+0

@cburgmer在沒有它的情況下爲我工作:https://github.com/hennr/marabou/blob/master/.travis.yml – hennr 2016-05-21 14:09:09

-1

對不起,通配符模式目前不起作用,但我們將在Travis CI上進行一番探討。

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

example