gpt4 book ai didi

git - 在 Openshift 服务器上运行 git add 并提交

转载 作者:太空狗 更新时间:2023-10-29 13:01:35 27 4
gpt4 key购买 nike

我正在使用一个平台创建一个 configuration.php 文件作为灌输过程的一部分。现在,安装过程作为服务器上构建 Hook 的一部分运行。问题是因为它是在服务器上创建的,每次推送后,它都必须重新运行灌注过程。这会覆盖很多更改。

有没有办法在服务器上运行git addgit commit?如果我可以将 configuration.php 文件添加到存储库并 git pull 将其 pull 下,则灌输过程将不会继续运行。如果是这样,我应该在哪个目录中运行命令?

我已经尝试通过 SSH 连接到服务器并运行 git 命令,但只收到错误 fatal: Not a git repository (or any parent up to mount point/var/lib/openshift)无论我尝试什么目录。

最佳答案

如果我理解正确,您的问题是一旦您将提交推送到 OpenShift 存储库,OpenShift 服务器会自动开始全新安装,您会丢失所有配置和数据吗?

这是 OpenShift 执行正确部署过程的方式。你不应该试图绕过它;相反,您应该使您的安装适应它。如果您的部署过程可以很好地与 OpenShift 配合使用,您就可以轻松部署多个环境并使它们保持最新状态,这可以在您投入生产后挽救生命。

我也遇到过这个问题,我是这样做的:

关键是 app-root/data 文件夹。推送时不会删除此文件夹,因此您可以使用它来存储部署时不应更改的数据文件。我还用它来存储我的配置文件。我将配置文件放在 .gitignore 中,这样它们就不会 check out 到 OpenShift 存储库中。然后,我使用 build Hook (虽然也许我应该使用 pre_build...)将这些文件从 data 文件夹复制到他们的真正的位置,在我开始 build 之前。

你需要记住的是,构建所需的每个文件都应该通过 git 进行版本控制,从 data 复制,从互联网下载(通过依赖管理器或通过 wget\curl) 或在构建过程中创建。你不能让文件只留在那里(就像你在开发机器上的本地工作副本中一样),所以如果你有一个没有版本控制并且不是在构建过程中创建的文件 - 确保你设置下载它或从 data 复制它的钩子(Hook)。

如果你需要引用,你可以看看我的项目。相关部分是the action hooksthis instructions document .

关于git - 在 Openshift 服务器上运行 git add 并提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com