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

her*_*ert 30 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
Run Code Online (Sandbox Code Playgroud)

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

示例运行: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部署支持,或者此用例是否有任何解决方法?

Jak*_*kob 39

如果启用该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
Run Code Online (Sandbox Code Playgroud)

通过travis setup releases使用虚拟文件名执行并.travis.yml随后进行修改,可以轻松进行设置.

  • "file_glob:true"对我来说是必须的,所以@hennr信息似乎不正确. (4认同)
  • 显然 shell 正在为您的设置解析 glob 模式? (2认同)

小智 11

deploy:
  file_glob: true
  file: "build/distributions/worktrail-app-hub-sync*.zip"
Run Code Online (Sandbox Code Playgroud)