我对网站开发有疑问。 (我主要制作Drupal网站)我一直试图解决这个问题,但我找不到最好的工作流程。我会解释我的问题:
我有一台笔记本电脑(我主要用于学校)和一台电脑。我想将它们用于开发。
我认为最佳做法是使用像GitHub这样的东西。但我并不希望一切都公之于众。所以我租了一个vps并设置了GOGS(一个自托管的GitHub替代品)一切正常,我可以用它来推动我的工作到其他设备。
我目前的问题;如果我开发一个Drupal网站,我会在笔记本电脑上进行安装。我也需要在我的电脑上进行相同的安装。 (因为我使用的是.gitignore。不是整个安装都会被推拉。)
这是我应该的工作方式吗? 我想到了一些替代方案,但我不知道它们是否更好;
我想问你最好的方法是什么?谢谢!
答案 0 :(得分:3)
我认为自我托管的Git有点开销。只需在https://bitbucket.org或https://gitlab.com上创建一个帐户即可。他们有免费的私人回购。
但是,原则上,你的工作方式是正确的方式。
Drupal现在已经有了某些东西"预先考虑"谈到Git的开发。它已经有一个正确预配置的.gitignore
文件,例如,它最初会排除settings.php
文件,该文件包含敏感信息(最重要的是:数据库凭据)。此文件将在站点的所有本地和实时实例上有所不同。您可能还想忽略其他文件(.htaccess
,robots.txt
等)。这主要取决于您的工作流程。
下一步"问题":数据库。正如您可能已经发现的那样,某些事情只存在于数据库中。不在代码中。节点,页面,设置。这个问题通常通过"下行流式传输来解决。数据库转储从方向到本地(从不在相反的方向)。因此,您通常会从实时实例(在您的实时服务器上)创建数据库转储,然后在您的开发服务器和本地实例中导入该数据库。因此,您现在可以定义一个基本实例,并始终从那里获取数据库。 (类似地适用于/files
文件夹中的所有资产 - 只需将该文件夹从实时下载到本地实例。)
在Drupal中,这个"问题" (或挑战)通常使用Features模块解决,该模块允许您将数据库设置从本地Drupal数据库导出到某些功能模块中,然后可以将这些设置提交,推送,拉取并重新导入数据库在实例上。在Drupal 8中,这个挑战主要由Configuration Management解决,其中很多这些设置被导出到*.yml
文件中,然后可以在所有其他实例上分发和导入。
为了使Drupal开发更容易(当涉及到导出和导入数据库或配置时),有许多工具可用。
但您也可以使用您喜欢的其他工具(NPM,Bower,Gulp等)。然后让他们做驴的工作。
当您开始与其他人合作完成一个项目时,我提供的大部分信息会自动变得更清晰。
请随时在评论中提出一两个确切的其他问题。