【问题标题】:Can I use git ignore for distribution? keys: maven, java, github我可以使用 git ignore 进行分发吗?键:maven,java,github
【发布时间】:2013-12-23 02:33:05
【问题描述】:

我遇到了一个问题,我猜很常见。

我有一个存储在 github 中的项目。

我需要它来运行:生产、测试​​和不同的开发人员。

项目使用maven配置文件来设置一些参数。

该项目还有一个 spring 配置文件:目前只有 DEV 初始化一个 DB。

该项目使用具有特定配置文件的外部软件。

我需要将项目投入生产,但能够提供开发版本。

问题:我可以在开发人员本地使用 git ignore 来分发代码并仍然将文件存储在 github 中吗?

或者你会有不同的解决方案吗?

实际的问题是: 我可以在本地对某些配置文件使用 git ignore 并且仍然在主存储库中保留这些文件吗?仅由生产用户更新?

【问题讨论】:

  • 将构建的输出发布(部署)到 Maven 存储库,如 Nexus 或 Artifactory。部署到您的应用服务器(例如 tomcat)时,从那里拉取文件。二进制存储库将构建发布工件的流程与部署它的流程分离。

标签: spring maven github configuration makefile


【解决方案1】:

一种方法是存储:

  • 每个环境一个不同的配置文件
  • 一个模板文件
  • 一个脚本能够检测克隆 git 存储库的当前环境,并生成用于该本地环境的实际配置文件(未进行版本控制)。

该生成可以在结帐时自动生成,并将涂抹脚本声明为content filter driver

【讨论】:

  • 我会喜欢这个答案,目前它是唯一的一个;)但也因为除了我发布得很糟糕的问题之外,您还遇到了问题。但是有几个细节,我从一开始就是封闭源代码。我没有模板(尤其是外部软件),我可以编写脚本。如果我这样走,我能把它变成标准行业吗?
  • @mario 您可以将其设为“标准行业”,但我通常将这种配置文件生成视为一种临时快速的方式来生成您需要的内容并继续前进。
【解决方案2】:

我们解决此问题的方法是使用配置脚本从单独的存储库中提取适用于本地、暂存或生产的服务器凭据文件。

在每台服务器拉取适当的文件后,我们将其重命名以在不同环境中保持一致性,然后我们将由 git 跟踪的设置文件包含凭据文件。

【讨论】:

    猜你喜欢
    • 2020-03-17
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    相关资源
    最近更新 更多