lleber/cloud-hook-advanced

cloud-hooks存储库的高级版本,专注于自动的、可预测的和安全的代码部署。

安装: 19

依赖项: 0

建议者: 0

安全性: 0

星星: 0

观察者: 2

分支: 0

开放性问题: 0

类型:acquia-cloudhook

dev-master 2019-02-15 02:39 UTC

This package is auto-updated.

Last update: 2024-09-15 15:34:43 UTC


README

有关云钩特性的全面概述,请参阅以下规范源:https://github.com/acquia/cloud-hooks

此项目增加了哪些价值?

此项目是在响应Acquia Cloud上管理企业级Drupal 8项目时遇到的一些痛点后开始的。

它包含一系列按特定顺序触发的钩子,有助于使代码部署更快、更可预测,并减少人为错误的风险。

它还因为缺乏Drush 9对ACAPI的支持而创建。

先决条件

此项目对应用程序和组织设置做出了一些假设。

Cloudflare支持层级

基于域的清除需要企业级Cloudflare账户。

模块

  • Drush >= 9.2.1
  • Cloudflare >= 8.x-1.0-alpha7

环境设置

在将这些钩子部署到Acquia应用程序之前,必须执行某些步骤来安装正确的Acquia和Cloudflare凭据。

设置ACAPI

要在环境中设置ACAPI,必须在目标Acquia服务器上安装凭据。

这可以通过以下方式实现:

  • 使用Drush 8运行ac-api-login命令。
  • ~/.acquia/cloudapi.conf中上传凭据文件。
{"email":"account@example.com", "key":"get-the-key-from-the-acquia-dashboard"}

配置Cloudflare API

需要在Drupal数据库中的/admin/config/services/cloudflare处配置Cloudflare API密钥。

脚本

每个操作都分离到自己的脚本中。这些脚本通过精心命名的符号链接在各个环境中共享。

备份数据库

此脚本将自动检测当前环境中所有模式,并在退出前为每个创建用户备份。

此脚本利用Acquia Cloud REST API v1来阻止后续钩子执行,直到所有备份都完成。默认情况下,它仅在生产环境中运行。

Drupal缓存清除

此脚本清除本地Drupal缓存。通过在清除其他内容之前清除Drush缓存,它增加了一层安全性和一致性。这也据说可以解决acquia/blt#2867问题。

更新实体

此脚本简单地运行drush entity:updates

更新数据库

此脚本简单地运行drush updatedb

配置导入

此脚本针对sync源运行配置导入。如果当前环境存在配置拆分,则还会导入特定于环境的配置。

Varnish缓存清除

此脚本将自动检测当前环境中的所有域,并在退出前清除每个域的Varnish缓存。

它利用Acquia Cloud REST API v1执行清除请求,并将在所有缓存清除之前阻止后续钩子执行(以防止与上游缓存层的清除发生竞争条件)。

Cloudflare缓存清除

此脚本将自动检测当前环境中的所有域,并在退出前清除每个域的Cloudflare缓存。

它使用Cloudflare REST APIv4来执行清理请求,并且不会阻止后续钩子的执行,因为目前API不支持这一功能。