- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用一个平台创建一个 configuration.php 文件作为灌输过程的一部分。现在,安装过程作为服务器上构建 Hook 的一部分运行。问题是因为它是在服务器上创建的,每次推送后,它都必须重新运行灌注过程。这会覆盖很多更改。
有没有办法在服务器上运行git add
和git 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 hooks和 this instructions document .
关于git - 在 Openshift 服务器上运行 git add 并提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827740/
我是 devops 的新手,并且正在阅读有关此的 openshift 文档。似乎 buildconfig 和 pipeline(openshift 4.6 中的 tekton)都可以实现 source
我正在寻找 OpenShift Origin 和 OpenShift Enterprise 之间的主要区别。我知道第一个是开源的,后者是商业版。与开源版本相比,OpenShift Enterprise
在 Openshift 上部署应用程序后,收集应用程序的 1) CPU、2) 网络、3) 内存、4) 磁盘存储使用情况的推荐方法/最佳实践是什么?基本上是为了监控应用程序。 如果它们能够以时间序列格式
几天来,我一直在尝试通过 Openshift 连接到我的应用程序,但仍然没有运气。 我现在不确定该去哪个论坛,因为我在任何地方都没有得到帮助。 1) 我通过终端运行sudo rhc setup (我之
Spinnaker 是否可以作为云提供商在 Red Hat 的 Openshift 上运行和部署应用程序? 如果没有,需要什么才能使之成为现实? 谢谢。 最佳答案 首先,您需要为 Openshift
我目前正在使用 Red Had 提供的免费培训来学习 Openshift 作为开发人员和管理员。你知道我可以用来获得“刺激”经验的任何其他地方吗?提前致谢。 :) 最佳答案 红帽提供的免费培训是一个良
我在 openshift 中创建应用程序时不小心选择了大齿轮。有没有办法在不重新创建我的应用程序的情况下降级齿轮类型?比如从大到中,甚至从大到小。highcpu。 提前谢谢各位 最佳答案 您确实必须重
我创建了一个 Web 应用程序,我想在 Openshift 上进行部署。 最简单的方法是什么?我正在使用 Openshift Eclipse 客户端。 我应该创建一个新的 openshift,然后从我
我想在 Openshift 中定义一条具有多条路径的路由,每条路径转发到不同的服务。例如/pathA 会将请求转发到 ServiceA ,而/pathB 会将请求转发到 ServiceB。 这在 Op
我想创建一个构建器图像 app_name:latest这将采用多个源输入,例如,另一个图像和二进制源,然后将输出创建到 app_name:latest . 示例 - { "kind": "Bu
我有一个 openshift 应用程序,我在本地彻底重新设计了该应用程序,并希望在 openshift 服务器上重新开始。 我可以删除所有齿轮并重做它们,但是有没有一种优雅的方法或任何方法可以将 op
大约一周以来,它说: Queued for provisioning Due to an increase in OpenShift Online Starter popularity, please
我希望我的部署配置使用作为构建配置输出的镜像。 我目前正在使用这样的东西: - apiVersion: v1 kind: DeploymentConfig metadata: anno
与 OpenShift Container Platform(以前的 Enterprise)相比,OpenShift Origin 是否有任何强制限制?我的意思是,像 Origin 这样的东西,你最多
一个 openshift 应用程序可以有多个域吗? Heroku 允许这样做。完全不同的域(app.abc.com、app.xyz.com)或子域(*.abc.com、*.xyz.com)。 open
我想开发一种新的墨盒供我自己使用。我使用 OpenShift Cartridge Development Kit 开始我的工作。我的构建脚本写在.openshift/action_hooks/buil
我正在使用 flask 。我安装了 Flask-migrate 并一直在使用它来迁移我的 postgresql 数据库。它在我的本地盒子上工作正常。但是,当我在 openshift 上运行它时出现错误
当我尝试在打开的类次项目中推送一些更改时,我在尝试构建项目时遇到了这个错误: remote: Found pom.xml... attempting to build with 'mvn --glob
在不可扩展的奇异齿轮中,齿轮空闲多长时间没有流量。我看过 https://access.redhat.com/site/documentation/en-US/OpenShift_Online/2.0
我试图在 OpenShift 中更新图像时触发部署。该图像托管在私有(private)外部 docker 注册表中。我创建了一个 ImageStream映射到这个外部图像。当我将新图像推送到注册表时,
我是一名优秀的程序员,十分优秀!