0

我帮助维护的应用程序的某些环境具有当前无法更改的文件夹结构,例如:

开发环境

Folder 1
  |--File 1
  |--File 2

测试环境

Folder One
  |--File 1
  |--File 2

我需要保持文件夹结构不变,但我想在我的开发和测试环境之间推送我的更改,因为我目前无法重组文件夹。

我听说 Urbancode Deploy 有这样的功能,但我想知道这是否可以通过 Git 本身或 Git 和 Shell 来实现?是否有任何其他开源软件或扩展可以帮助解决这个问题?

4

2 回答 2

0

实际上 UrbanCode Deploy 可以实现这一点,因为您可以在部署过程之外定义环境的属性。铁

  • 您在 FOLDER 1/ONE 下的文件和文件夹结构是一个组件,并且有一个部署过程(无论您想在那里实现什么,只需定义一次,目标不可知)
  • 在部署过程中,该过程从 UCD 查询目标环境的属性,并为 DEV 获取文件夹 1,为 TEST 获取文件夹 1,然后将文件和文件夹放在正确的目标目录中……
于 2020-10-16T11:19:29.133 回答
0

首先:请记住,这git是一个版本控制工具,而不是部署工具。

git pull是一个非常方便的功能,但它仅作为部署脚本。
如果您需要对部署执行一些额外操作(例如:重命名文件夹...),您可以编写一个简单的部署脚本:

#/bin/sh

git pull
rm -rf "Folder One"
cp -r "Folder 1" "Folder One"

其他一些方法:如果目标系统支持符号链接,您可以在您的 repo 中添加符号链接:

ln -s "Folder 1" "Folder One"
git add "Folder One"
git commit -m "add symlink to match the expected structure on testing env"
于 2020-09-17T08:56:21.310 回答