Questions tagged «deployment»

使用它来解决有关部署的问题:分段内容,跨多个服务器管理和同步站点。

4
Drush和Phing是否多余?
我已经在我们的开发服务器上安装了JenkinsCI,以开始自动化我们的开发构建和测试过程。我正在通过外壳程序脚本将Jenkins与Git插件和一些Drush命令一起使用。 在研究如何在我的Drupal开发工作流程中使用Jenkins时,我遇到了一篇有关将Phing与Drush和Jenkins一起使用的文章。因此,我查看了Phing,但看不到通过Shell脚本使用Drush命令无法完成的工作。 我正在尝试决定花时间学习如何使用Phing对我来说是否有意义。我正在寻找一些明确的信息,说明通过Shell脚本合并Phing vs. Drush命令将获得什么好处。 因此,我的问题是那些将Phing与Drush和Jenkins一起使用的人:Drush / Drush-Make和Phing有何不同?您为什么决定在过程中开始使用Phing? 谢谢

5
在多个安装中管理自定义模块
我们有一些用于多个站点的自定义模块。那些不能作为贡献模块发布,例如,因为它们是特定于客户的,做出的假设不适用于贡献模块等等。 我知道以下可能的解决方法: 复制并粘贴到周围。显然很难在所有安装上都使模块保持最新。 只安装一个多站点,但这并不总是可能的。 使用git子模块,但是它们很讨厌,很容易忘记更新它们,并且并不总是受支持(例如Pantheon) Drush make脚本以从通用git存储库中签出。为此,您AFAIK需要在整个站点上使用drush make,我们目前不使用它。 http://drupal.org/project/fserver。我还没有尝试过,有人知道它是否足够稳定吗?项目描述听起来不太乐观,也没有7.x版本。 还有什么/更好的吗?您喜欢什么,为什么?

1
如何在分阶段环境中正确删除模块?
一些模块具有取消安装例程。通常会删除该模块的数据库表,变量表中的变量以及该模块引入的语言环境。这些例程位于该.install模块的中。 因此,如果没有该模块,则无法运行它们。所以这是我们当前的步骤。我的问题是:这可以更简单,更有效地完成吗?说我删除foo_bar模块。 在RCS中,准备一个新版本,其中: 删除了在foo_bar之上使用或构建的所有css和主题覆盖。 取决于foo_bar的模块的所有css和theme-overrides均被删除。 将该发布推送到接受状态。(使用admin / modules)使用生产数据库的最新副本测试取消安装。 如果一切顺利,则将新的代码库部署到生产环境中,然后在其中释放foo_bar及其依赖项。这将在各个模块中调用卸载,以清理数据库。 在RCS(git)中,准备一个新发行版,其中的代码实际上已被删除。 将其部署到接受测试的地方,以便我们测试是否意外地依赖于此(一些丑陋的模块或主题功能直接包含来自其他模块的文件。最著名的是CSS,JS或图像文件)。 如果接受,则将新版本部署到生产中。生产现在有一个干净的数据库和一个干净的代码库。 我看不到如何解决的问题是,这总是需要两个版本。由于在Drupal中,一个发行版要求站点处于离线状态,这意味着两次停机仅删除一个模块。它还需要两个发布过程,在专业托管环境中,这可能是非常昂贵,费时或令人沮丧的。 如果在第一次迭代中从代码库中删除模块,则无法运行卸载钩子,从而在数据库中保留了很多皮棉;不仅是几个表,而且大多数是变量和语言环境。如果我们不从代码库中删除模块,这意味着代码库将随着陈旧的未使用代码一起增长;这不会产生性能开销,但是会使维护代码越来越难。 您如何处理? [编辑:经常添加关于部署过程很困难的说明]
17 nodes  deployment 

3
如何通过唯一的配置文件部署/管理类似的站点,而没有转储?
我不喜欢“ 克隆网站”解决方案,该解决方案意味着要转储数据库并将此转储导入另一个环境。这看起来并不像部署同一网站的多个实例(staging / prod / dev / etc)的真实方法。 对于D7,我们通常使用自定义配置文件,并使用drush从这些配置文件安装网站(并可能使用功能进行以后的网站同步)。这为我们提供了全新的安装,没有测试内容,但是共享了重要的设置。例如,公共内容同步将通过迁移完成。 我试图管理几个共享相同安装配置文件的D8实例。最终目标是共享和同步站点配置。而且每个安装都有一个不同的站点UUID。我system.site uuid在安装时强制执行config变量没有成功(当然,我以后可以更改该值,但是在我看来这已经太晚了,并且所有对象都已经使用不同的UUID创建,这使得第一次同步成为噩梦。,其中必须删除一些默认内容,或者由于无法删除同步,默认语言导致同步崩溃等)。 为了强制执行此UUID,我尝试使用生成的settings.php文件,该文件中包含一个$config['system.site']['uuid']值,但失败很大(即使在站点安装后,该设置也被完全忽略了)。 我还查看了我不完全了解的配置安装程序配置文件,尤其是将该解决方案与另一个安装配置文件混合使用的方式。 所以问题是,从安装配置文件部署新站点的最佳方法是什么: 无需“克隆网站”,也无需在创建网站时操纵SQL转储(例如,在“ 克隆网站问题”中)。 用新鲜干净的安装(没有开发内容垃圾),使用导出的配置和代码只 它可以管理安装配置默认值和以后的同步

5
导出/部署Drupal网站/页面到静态?(无缓存)
我想知道是否存在可以帮助该主题的模块。我不是在寻找缓存模块(例如Boost或Varnish),而是一种将整个网站(或仅某些页面)导出为静态的方法。我的想法是,我希望我的Web服务器将是一个非常简单轻巧的服务器,并且仅提供静态文件(html / css / js)-生产时没有数据库,服务器上也没有安装php引擎。所有Drupal引擎都将在另一台服务器上,每次添加/编辑/更改节点或视图时都将完成导出,并且将在目录结构中创建一组新的html文件。这些文件稍后将被复制到生产站点,该站点将始终只提供静态文件,没有.htaccess会检查文件是否存在等要求。 是否有用于此的模块,或者可以使用Drupal实现的解决方法? 谢谢

5
如何部署用户界面翻译?
我在“用户界面翻译” / admin / config / regional / translate上翻译的字符串无法通过“配置管理” / admin / config / development / configuration导出。我想念什么吗? 我想使用hook_update_N或自动执行此过程drush cim -y。 在Drupal 8中自动部署“用户界面转换”的正确方法是什么? 我应该在里面做hook_update_N()吗? 我应该mytranslations.po在language文件夹中创建一些自定义文件吗? 我看到有locale_translate_batch_import_files()可能被使用。

1
如何使用drush make安装作曲家软件包?
如何将作曲家程序包包含在drush make文件中? 答案越笼统越好。已经有一个composer drush模块,允许drush dl处理composer软件包,但是对于每个依赖项都需要一个shell命令。 考虑到我们将来使用Symfony,作曲家和其他Symfony捆绑软件将来可能会变得越来越重要。

5
将代码部署到多个前端服务器
在这种情况下,我们有多个负载均衡的服务器指向一个公共数据库。 在正常情况下,它可以正常工作,并提供冗余,可伸缩性等。 但是,我们发现部署有些麻烦。 我们正在广泛使用功能,并正在尝试自动化部署。目前的部署还不是很可靠。 以简化形式,每个服务器的部署脚本分为两个阶段 更新档案 还原功能(将管理依赖关系,设置更改等) 有没有在多个服务器上部署而不导致它们处于不一致状态的最佳实践? 据我所知,如果您将步骤1和2部署到服务器A,它将导致服务器B损坏,如果在继续执行步骤2之前在两个服务器上尝试步骤1,它们都将被破坏一段时间。

5
将内容更新从登台服务器部署到实时服务器
我们正在尝试将内容更新从登台服务器部署到实时服务器,但是很难找到一种好的方法来做到这一点。我们需要能够部署新页面,页面更新以及偶尔的页面删除。我们的站点还广泛使用book模块,因此Deploy模块目前不适用于我们。我们正在使用功能来进行大型结构更新。因此,我们关心的只是每日内容更新。 是否有任何模块可以做到这一点并处理书籍页面?

5
部署和生产[已结束]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Drupal Answers 的主题。 2年前关闭。 我需要简化部署服务器和生产服务器之间的部署。 我怎样才能做到这一点?我需要部署所有更改,因此,如果我从Github中提取并运行脚本,则更改将被应用! 有人为此写过任何脚本或模块吗? 我正在使用Drupal 7。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.