Version control 自动将每个编译存储在github上?

Version control 自动将每个编译存储在github上?,version-control,github,Version Control,Github,我的代码每天由多个人(多台机器)编译多次。我希望每次有人完成编译时,每个编译都自动上传到我们的Github帐户。基本上,这些编译后的ZIP通过闪存驱动器、电子邮件或dropbox(基于多种条件的任意方式)发送到实际硬件。由于zip的名称始终相同,因此有时会在设备上删除旧版本,有时会存储在/old目录中。我希望停止丢失旧版本,并保留按时间顺序存储的每个版本的中央存储库。Github似乎是一个完美的地方 我当然可以要求每个用户将他们创建的完成的zip上传到一个中心位置,但如果可能的话,我希望它是一个

我的代码每天由多个人(多台机器)编译多次。我希望每次有人完成编译时,每个编译都自动上传到我们的Github帐户。基本上,这些编译后的ZIP通过闪存驱动器、电子邮件或dropbox(基于多种条件的任意方式)发送到实际硬件。由于zip的名称始终相同,因此有时会在设备上删除旧版本,有时会存储在/old目录中。我希望停止丢失旧版本,并保留按时间顺序存储的每个版本的中央存储库。Github似乎是一个完美的地方

我当然可以要求每个用户将他们创建的完成的zip上传到一个中心位置,但如果可能的话,我希望它是一个自动过程。那么,Github是否提供了这样的功能

Github似乎是一个完美的地方

不太可能,因为将大型二进制文件放在分布式repo(即,一个完全克隆的repo)中

要获得二进制文件的特定版本,您必须从GitHub克隆“工件”repo,然后才能选择要部署的正确版本。
随着多次交付,回购协议将变得越来越大,使克隆变得更长。
但是,如果您只有一个地方可以部署,那么git fetch确实只能获得新的工件(增量更新)

但是:

  • GitHub并没有提供无限的空间(而且,随着所有的交付,回购将快速增长)
  • 清理repo(即删除可能不需要的二进制文件的旧版本)很困难
因此,再次强调,使用GitHub或任何其他DVC(分布式VCS)进行交付似乎是不够的

如果您可以像这样设置一个公共工件存储库,那么您将能够交付任意数量的二进制文件,并且您将能够轻松地清除(删除)它们

Github似乎是一个完美的地方

不太可能,因为将大型二进制文件放在分布式repo(即,一个完全克隆的repo)中

要获得二进制文件的特定版本,您必须从GitHub克隆“工件”repo,然后才能选择要部署的正确版本。
随着多次交付,回购协议将变得越来越大,使克隆变得更长。
但是,如果您只有一个地方可以部署,那么git fetch确实只能获得新的工件(增量更新)

但是:

  • GitHub并没有提供无限的空间(而且,随着所有的交付,回购将快速增长)
  • 清理repo(即删除可能不需要的二进制文件的旧版本)很困难
因此,再次强调,使用GitHub或任何其他DVC(分布式VCS)进行交付似乎是不够的


如果您可以像这样设置一个公共工件存储库,那么您将能够交付您想要的任意多个二进制文件,并且您将能够轻松地清理(删除)它们。

Github的概念是将文件附加到存储库(但实际上不在repo中-它们存储在s3上),并且有一个用于将文件上载到存储库的方法

您可以在构建过程中调用该api


如果您有一个持续集成服务器在每次提交后构建代码,那么您应该能够让它将构建产品存储在某处,但是如果您希望将它们存储在GitHub上(而不是CI服务器的硬盘上),您可能需要自己处理集成

Github的概念是将文件附加到存储库(但实际上不在repo中-它们存储在s3上),并且有一个用于将文件上载到存储库的方法

您可以在构建过程中调用该api


如果您有一个持续集成服务器在每次提交后构建代码,那么您应该能够让它将构建产品存储在某处,但是如果您希望将它们存储在GitHub上(而不是CI服务器的硬盘上),您可能必须自己处理集成。

而GitHub非常适合在源代码上进行协作,它不是用来管理构建及其工件的。您可能最终会想看看这样的公司,它们提供托管构建和集成环境,其目标正是源代码管理之外的工作流部分。但是这些主要是针对Java开发的,它可能适合您的需要,也可能不适合您的需要


除此之外,如果您真的只想让很多人都能访问构建中的大量时间戳zip文件,那么一个好的老式FTP服务器是否足以满足您的需要呢?

虽然github非常适合在源代码上进行协作,但它不适合管理构建及其工件。您可能最终会想看看这样的公司,它们提供托管构建和集成环境,其目标正是源代码管理之外的工作流部分。但是这些主要是针对Java开发的,它可能适合您的需要,也可能不适合您的需要


除此之外,如果你真的只想让很多人都能访问你构建的很多带有时间戳的zip文件,那么一个好的老式FTP服务器是否足以满足你的需要呢?

我认为FTP服务器可能是一个合理的选择。我只是希望我不必要求我的开发人员以某种方式格式化文件名,并始终记住将他们的编译上传到FTP。但是生活从来都不是完美的,所以也许他们必须这样做,我必须接受非集中式的源代码(即非github)。我认为FTP服务器可能是一个合理的选择。我只是希望我不必要求我的开发人员以某种方式格式化文件名,并始终记住将他们的编译上传到FTP。但是生活从来都不是完美的,所以也许他们必须这样做,我必须接受非集中的源代码(即非github)。