将 Git 存储库克隆到 LINUX 机器时使用的 'standard' 目录位置是什么
What's the 'standard' directory location to use when cloning a Git repo onto a LINUX machine
虽然我的大部分职业生涯都是作为一名全栈 Web 开发人员在 Microsoft 堆栈上度过的,但我偶尔也会涉足 *NIX 方面……在这里构建了一个 FreeBSD Web 服务器,在那里玩过一次 Caldera Linux,目前正在使用 Google 云 VM 进行一些网络部署 运行ning Ubuntu...
TL,DR
因此,如果我将一个 repo 分叉到我的 GitHub 帐户 - 所有这些都是为了将其克隆到我的 Ubuntu 服务器,然后我将在其中编译和 运行 Web 应用程序..
我应该将 'cloned' 源代码放在哪个专业预期位置?我在谷歌上搜索了一下,以便更好地了解各种 linux 目录的用途......但是......我需要一个很好的 SO 答案......所以......你会把它放在哪里?
/usr/src/MyGitRepos
..这对我来说听起来不错..但是..你会怎么做?
我不会说有一个标准的假定位置,特别是如果服务器专门用于此应用程序。将它的文件夹放在 /home/user 目录中甚至应该没问题,或者以您认为合适的方式组织它:
/home/user/app-goes-here/app.js
保持简单:)
当它由单个 unix 用户使用时,$HOME
中的某处对我来说是相当合理的。如果 repo 也打算供其他用户使用,/opt
相当可观。
What is the professionally expected location
如果正如您所说,您正在部署一个从源代码编译的应用程序,那么就没有这样的位置。在专业环境中,您的资源不会出现在服务器上。
从最专业到"it works"解决方案:
在生产环境之外构建系统包。这意味着您拥有两个先前部署版本的存储库,并且拥有包含构建和 运行 时间依赖项的包清单。这意味着您每次都可以以相同的方式重建您的应用程序。安装时,安装构建的包。 (这适用于 deb、rpm 等)
在可预测的环境(开发人员箱)中使用二进制文件构建 tarball。这意味着您 运行(例如,如果您正在使用自动工具)./configure --prefix=/opt/your_app && make install DESTDIR=/tmp/somedirectory
- 现在您可以打包 /tmp/somedirectory/opt/your_app
内容,将其复制到服务器并将其解压缩到 /opt/your_app
.
将它克隆到任何地方(您的主目录),然后构建,然后安装到目标位置。热门目的地是 /opt/app_name
和 /usr/local
。
解决方案取决于部署的专业程度,你有多少台服务器,你有没有test/production环境等
虽然我的大部分职业生涯都是作为一名全栈 Web 开发人员在 Microsoft 堆栈上度过的,但我偶尔也会涉足 *NIX 方面……在这里构建了一个 FreeBSD Web 服务器,在那里玩过一次 Caldera Linux,目前正在使用 Google 云 VM 进行一些网络部署 运行ning Ubuntu...
TL,DR 因此,如果我将一个 repo 分叉到我的 GitHub 帐户 - 所有这些都是为了将其克隆到我的 Ubuntu 服务器,然后我将在其中编译和 运行 Web 应用程序..
我应该将 'cloned' 源代码放在哪个专业预期位置?我在谷歌上搜索了一下,以便更好地了解各种 linux 目录的用途......但是......我需要一个很好的 SO 答案......所以......你会把它放在哪里?
/usr/src/MyGitRepos
..这对我来说听起来不错..但是..你会怎么做?
我不会说有一个标准的假定位置,特别是如果服务器专门用于此应用程序。将它的文件夹放在 /home/user 目录中甚至应该没问题,或者以您认为合适的方式组织它:
/home/user/app-goes-here/app.js
保持简单:)
当它由单个 unix 用户使用时,$HOME
中的某处对我来说是相当合理的。如果 repo 也打算供其他用户使用,/opt
相当可观。
What is the professionally expected location
如果正如您所说,您正在部署一个从源代码编译的应用程序,那么就没有这样的位置。在专业环境中,您的资源不会出现在服务器上。
从最专业到"it works"解决方案:
在生产环境之外构建系统包。这意味着您拥有两个先前部署版本的存储库,并且拥有包含构建和 运行 时间依赖项的包清单。这意味着您每次都可以以相同的方式重建您的应用程序。安装时,安装构建的包。 (这适用于 deb、rpm 等)
在可预测的环境(开发人员箱)中使用二进制文件构建 tarball。这意味着您 运行(例如,如果您正在使用自动工具)
./configure --prefix=/opt/your_app && make install DESTDIR=/tmp/somedirectory
- 现在您可以打包/tmp/somedirectory/opt/your_app
内容,将其复制到服务器并将其解压缩到/opt/your_app
.将它克隆到任何地方(您的主目录),然后构建,然后安装到目标位置。热门目的地是
/opt/app_name
和/usr/local
。
解决方案取决于部署的专业程度,你有多少台服务器,你有没有test/production环境等