首页 > 解决方案 > 如何在存储库中管理“服务器”和“客户端”文件夹

问题描述

我有一个项目结构如下:

- client
  - package.json
- server
  - package.json
package.json

对于开发,我将从根的 package.json 运行一个 npm 脚本,该脚本将启动我的“服务器”和“客户端”:

 "client": "cd client && npm run dev",
 "server": "cd server && npm run dev",
 "start": "npm-run-all --parallel server client"

目前,只有一个 Github 存储库可以推送“服务器”和“客户端”代码。

现在我正在将“服务器”和“客户端”分别部署到 Digital Ocean——git clone <server>到我的 droplet 和git clone <client>nginx/var/www/example.com/html文件夹——我不知道应该如何将它们分成单独的存储库,如果我错了,那就更正,这是我为了部署到 DO 而应该做的,同时仍然能够使用单个 npm 脚本启动它们以进行本地开发..

标签: gitnginxdeployment

解决方案


如果我错了,请纠正我,但基本上你是在谈论一个 droplet,并且你想将你的 repo 克隆到这个 droplet 的不同目录中。

我认为您有多种选择来实现这一目标:

  1. 只需拆分您的存储库并编写一个脚本,将两个存储库克隆到您的 droplet 上的正确目录中(假设它是一个 Linux 系统,编写一个 shell 脚本 - 我推荐这个 SO question
  2. 不要拆分您的存储库,将其克隆到您的 droplet 上的临时(非公共)目录中,然后执行一个 shell 脚本,将正确的文件复制到所需的目录中。
  3. 在我看来,实现这一目标的最佳方法是:考虑 CI/CD 管道。查看 此链接以获取更多信息。这是一个与 DO 集成的工具!

干杯和好运!


推荐阅读