如何使用GitHub自动发布/复制C ++软件?

时间:2016-12-04 20:43:05

标签: c++ github deployment travis-ci

我正在寻找的是每晚或每次提交都构建C ++代码的东西,然后,至关重要的是,运行一些命令来创建一个zip或一个包,然后可以将其添加到GitHub上的“Release”。

我知道有travis-CI,它会自动编译提交,它可以运行例如CMake INSTALL目标,然后运行CPack,这将创建一个zip或安装程序包。但是不可能将这些文件上传到GitHub或在某处显示它们。

我在想,也许还有其他可用的服务与GitHub集成,但无法找到任何Google点击量。优选地,这将与travis-CI分开,因为在travis上,您将运行类似调试的构建(静态分析器等)。对于要部署的版本,您需要发布版本标记,构建文档等。

这是一个开源项目,所以我正在寻找一些免费为开源项目做的事情,最好不要设置自己的服务器基础设施。

有一些相关的帖子,如Travis-CI Auto-Tag Build for GitHub Releasetravis section on deployment,但他们并没有真正回答我的问题。

1 个答案:

答案 0 :(得分:2)

您可以使用travis-CI,查看文档中的“构建工件”。

https://docs.travis-ci.com/user/deployment/releases/

在撰写本文时,它看起来像这样:

  

GitHub发布上传

     

Travis CI可以自动将$TRAVIS_BUILD_DIR中的资源上传到GitHub存储库中的git标签。

     

请注意,部署GitHub版本仅适用于标记,不适用于分支。

     

要进行最低限度配置,请将以下内容添加到.travis.yml

deploy:
  provider: releases
  api_key: "GITHUB OAUTH TOKEN"
  file: "FILE TO UPLOAD"
  skip_cleanup: true
  on:
    tags: true

基本上你必须标记你想要上传的每个提交,所以你可以定期做一个cron工作,或者只在发生有趣工作的那些日子里手工完成。

或者,您可以将所有版本上传到Google云端存储帐户或亚马逊s3帐户,然后您可以从那里开始工作。请参阅文档,例如here