如何使用GitHub进行C 软件的自动发布/夜间

How to do automatic releases/nightlies of C++ software with GitHub?

本文关键字:夜间 GitHub 何使用 进行 软件      更新时间:2023-10-16

我正在寻找的是每天或每次提交中构建C 代码的东西,然后,至关重要的是,运行一些命令来创建一个可以添加的zip或一个软件包在github上的"释放"。

我知道有Travis-Ci自动编译提交,并且可以运行,例如CMake安装目标,然后可以运行CPACK,该目标将创建ZIP或INSTALLER软件包。但是不可能将这些文件上传到github或在某个地方显示它们。

我在想,也许还有另一种与GitHub集成的可用服务,但找不到任何Google命中。最好是这将与Travis-CI分开,因为在Travis上,您将运行类似调试的构建(静态分析仪等)。在要部署的版本中,您会放置发布标志,构建文档等。

这是针对开源项目的,因此我正在寻找可以免费用于开源项目的东西,最好不要设置自己的服务器基础架构。

有一些相关的帖子,例如travis-ci自动标签构建用于GitHub发布或有关部署的Travis部分,但它们并没有真正回答我的问题。

您可以为此使用travis-ci,在文档中查看"构建伪像"。

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

在写作时看起来像这样:

github释放上传

Travis CI可以自动将资产从您的$TRAVIS_BUILD_DIR上传到您的github存储库。

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

对于最小配置,请在.travis.yml中添加以下内容:

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

基本上,您必须标记要上传的每个提交,因此您只有在发生有趣的工作的日子才能执行定期执行此操作或手动做到这一点。

另外,您可以将其上传到Google Cloud Storage帐户或Amazon S3帐户,然后您可以从那里cron作业。请参阅此处的文档。