SuperAPI AI 工具集

meo-environments

部署与运维

查看项目

更新于 10-15 08:19

技能介绍

用途

meo-environments 是 Acquia 的 MEO(Multi-site Enterprise Operations)环境管理技能,用于通过 acli 命令行工具对 MEO 订阅下的环境执行日常运维操作。该技能仅适用于 MEO 订阅,ACE 环境管理请参考 Environment Management。

主要能力

环境详情与属性

  • 查看环境详情:acli api:v3:environments:find <environmentId>,返回环境标签、状态、PHP 版本、区域、代码库链接和服务器配置。
  • 按代码库列出环境:acli api:v3:codebases:list-environments <codebaseId>。
  • 按站点列出环境:acli api:v3:sites:list-environments <siteId>。
  • 更新环境属性:acli api:v3:environments:update <environmentId> --label="Staging" --description="..." --properties='{"php_version":"8.2"}'。

保护模式

保护模式可阻止对环境的破坏性操作。

  • 启用:acli api:v3:environments:enable-protection-mode <environmentId>,锁定环境以防止擦除、删除和风险部署。
  • 禁用:acli api:v3:environments:disable-protection-mode <environmentId>,允许破坏性操作继续。

清理缓存

acli api:v3:environments:clear-caches <environmentId> <domains>,domains 为空格分隔的域名列表,例如:acli api:v3:environments:clear-caches <environmentId> example.com www.example.com。

站点实例管理

  • 列出站点实例:acli api:v3:environments:list-site-instances <environmentId>。
  • 创建站点实例(将站点关联到环境):acli api:v3:environments:create-site-instance <environmentId> <site_id>。
  • 创建时可选从源环境复制文件和数据库:acli api:v3:environments:create-site-instance <environmentId> <site_id> --source_environment_id=<srcEnvId> --source_site_id=<srcSiteId>。
  • 重排站点实例(影响显示顺序):acli api:v3:environments:reorder-site-instances <environmentId> ...。

部署管理

  • 列出部署:acli api:v3:environments:list-deployments <environmentId>。
  • 启动部署:acli api:v3:environments:create-deployment <environmentId> <run_hooks> <code_reference>。其中 run_hooks 为 true 或 false,表示是否执行部署钩子;code_reference 为分支或标签名(如 refs/heads/main)。示例:acli api:v3:environments:create-deployment <environmentId> true refs/heads/main。返回 deploymentId,可用 acli api:v3:deployments:find <deploymentId> 跟踪进度。
  • 代码部署并发:查看当前并发设置 acli api:v3:environments:find-code-deploy <environmentId>;更新并发(最大并发站点部署数)acli api:v3:environments:update-code-deploy <environmentId> <concurrency>。

CDN 清理

acli api:v3:environments:purge-cdn <environmentId> <resource_type> --values='["value1","value2"]',resource_type 可选 url、tag、all。

出口 IP

acli api:v3:environments:list-egress-ips <environmentId>,返回该环境的出站 IP 地址,便于加入允许列表。

私有网络

  • 查看私有网络关联:acli api:v3:environments:find-private-network <environmentId>。
  • 关联私有网络:acli api:v3:environments:associate-private-network <environmentId> <private_network_id>。
  • 解除关联:acli api:v3:environments:disassociate-private-network <environmentId>。注意:解除关联会移除网络隔离,执行前需与用户确认。

可信代理

  • 获取可信代理配置:acli api:v3:environments:find-trusted-proxies <environmentId>。
  • 更新可信代理:acli api:v3:environments:update-trusted-proxies <environmentId> ...。

域名模式

  • 列出域名模式:acli api:v3:environments:list-domain-patterns <environmentId>。
  • 创建域名模式:acli api:v3:environments:create-domain-pattern <environmentId> ...。
  • 查找与更新:acli api:v3:environments:find-domain-pattern <environmentId> <patternId>、acli api:v3:environments:update-domain-pattern <environmentId> <patternId> ...。
  • 删除域名模式:acli api:v3:environments:delete-domain-pattern <environmentId> <patternId>。此为破坏性操作,需明确批准;删除会移除 URL 路由规则,可能导致站点无法访问,执行前需与用户确认。

多区域故障转移

  • 获取故障转移状态:acli api:v3:environments:find-multi-region-failover <environmentId>。
  • 启用:acli api:v3:environments:update-multi-region-failover <environmentId>。
  • 禁用:acli api:v3:environments:delete-multi-region-failover <environmentId>。

使用方式

所有命令均使用 acli api:v3:* 形式。可通过 acli list api:v3:environments 查看当前所有环境命令,通过 acli api:v3:environments:create-deployment --help 查看具体命令帮助。

典型工作流:

  • 部署新版本:先启动部署 acli api:v3:environments:create-deployment <environmentId> true refs/heads/release/1.5,再跟踪 acli api:v3:deployments:find <deploymentId>。
  • 维护前锁定环境:启用保护模式,执行维护,再禁用保护模式。

适用场景

适用于 MEO 订阅下的环境运维,包括环境信息查询、保护模式切换、缓存清理、站点实例管理、部署管理、CDN 清理、出口 IP 查询、私有网络与可信代理配置、域名模式管理以及多区域故障转移控制。

限制

该技能仅适用于 MEO 订阅,不适用于 ACE 环境管理。部分操作具有破坏性(如解除私有网络关联、删除域名模式),需明确批准并与用户确认。