https://github.com/WPMedia/fusion/actions/workflows/run-tests.yml/badge.svg?event=push](https://github.com/WPMedia/fusion/actions/workflows/run-tests.yml) https://github.com/WPMedia/fusion/actions/workflows/build-deploy.yml/badge.svg?event=push](https://github.com/WPMedia/fusion/actions/workflows/build-deploy.yml)
PageBuilder Engine 是一个服务端+客户端渲染引擎,设计用于由多个独立页面组成、且这些页面共享少量可能频繁变化的模板的网站。
由于 PageBuilder Engine 依赖私有 @wpmedia 作用域的包,您必须在许多安装或构建步骤中设置环境变量 GITHUB_TOKEN。确保该令牌至少启用了 read_packages 权限,并且已通过 WPMedia SSO 授权。
PageBuilder Engine 使用单个 master 分支生成软件的多个版本,这些版本除了运行的 Node 版本外完全相同。这旨在简化客户的升级过程,因为客户通常因主要版本发布中可能存在的破坏性代码和配置变更而不愿升级。为确保前后兼容性,所有自动化测试均针对所有受支持和即将支持的 Node 版本运行。
由于各个 Engine 版本的次要和补丁版本并不总是对齐,它们的版本可以单独递增。此过程通过 @changesets/cli 包管理,该包对 .versions 文件夹中的虚拟包进行操作。每个虚拟包对应一个受支持的 Engine 版本,版本号在 GitHub Actions CI 流程中自动计算和分配。
.versions/README.md。合并到 master 分支将触发正式生产版本,前提是(且仅当)仓库中没有变更集文件。如果检测到变更集文件,则会触发 canary 版本。
您可以直接从该仓库运行 Engine,或使用 https://github.com/wpmedia/fusion-cli%E3%80%82%E4%B8%A4%E8%80%85%E7%9A%84%E8%AE%BE%E7%BD%AE%E6%9C%89%E6%89%80%E4%B8%8D%E5%90%8C%EF%BC%8C%E4%BD%86%E9%80%9A%E8%BF%87%E6%9C%80%E5%B0%91%E7%9A%84%E9%85%8D%E7%BD%AE%E5%8F%AF%E5%AE%9E%E7%8E%B0%E7%9B%B8%E5%90%8C%E7%9A%84%E8%BF%90%E8%A1%8C%E6%97%B6%E7%BB%93%E6%9E%9C%E3%80%82%E4%BB%A5%E4%B8%8B%E6%AD%A5%E9%AA%A4%E6%8F%8F%E8%BF%B0%E5%A6%82%E4%BD%95%E4%BB%8E%E8%AF%A5%E4%BB%93%E5%BA%93%E8%BF%90%E8%A1%8C Engine:
~/fusion 运行 npm inpm run start:admin单元测试使用 Jest,将混合使用从根 package.json 安装的包和从每个镜像(engine、resolver 等)内的 package.json 文件安装的包。如果遇到意外错误,请确保在每个文件夹中运行 npm i。
Engine 中的路由涉及两个主要组件:
第三个组件是 https://github.com/WPMedia/pagebuilder-resolver/blob/main/resolver-generator/README.md%EF%BC%8C%E5%BD%93%E5%9C%A8 PageBuilder UI 中修改 Resolver 时,它会创建 resolver Lambda,但不执行任何实际路由。
Fusion engine 包含核心渲染功能。
Fusion 管理界面当前构建于 https://github.com/wpmedia/pb-web/tree/fusion-admin 的
fusion-admin分支。
管理界面为最终用户提供网站内容管理功能。最终目标是用 pb-admin 替换 pb-web。
Engine 开发者体验主要包括:
以下是 Fusion 组件发出的可用指标列表
| 指标 | 描述 | 标签 |
|---|---|---|
arc.fusion.origin.latency | Origin 请求时间(毫秒) | nile_env:[Origin Nile 环境] environment:[Arc Org-Env] arcSite:[Arc 站点] |
| 指标 | 描述 | 标签 |
|---|---|---|
arc.fusion.cacheproxy.request_time | Cache Proxy 总请求时间(毫秒) | nile_env:[Cache-proxy Nile 环境] environment:[Arc 组织(无环境)] requestMethod:[GET, PUT, POST, DELETE] |
arc.fusion.cacheproxy.upstream_response_time | 上游(Elasticache 集群)延迟(毫秒) | nile_env:[Cache-proxy Nile 环境] environment:[Arc 组织(无环境)] requestMethod:[GET, PUT, POST, DELETE] |
| 指标 | 描述 | 标签 |
|---|---|---|
arc.fusion.cache.bytes | 返回的缓存对象大小(字节) | operation: [fetch] result:[success]source: [内容源名称] |
arc.fusion.cache.latency | 内容缓存延迟(毫秒) | operation: [fetch] result:[success, miss, error]source: [内容源名称] |
arc.fusion.compile.latency | 生成渲染的时间(毫秒) | operation: [generate, setup, compile] |
arc.fusion.content.bytes | 内容长度(字节) | operation:[fetch]source:[内容源名称] |
arc.fusion.content.latency | 从源获取内容的延迟(毫秒) | operation:[fetch]result:[success, error]source:[内容源名称] |
arc.fusion.content.tracing.start | 内容追踪开始信息 | rootId:[调用请求的 ID]traceId:[当前请求的 ID]source:[内容源名称]query:[内容源查询] |
arc.fusion.content.tracing.end | 内容追踪结束信息 | rootId:[调用请求的 ID]traceId:[当前请求的 ID]status:[状态码]source:[内容源名称]query:[内容源查询]value:[HTTP 请求持续时间(毫秒)] |
arc.fusion.db.latency | 执行数据库操作的持续时间(毫秒) | operation:[find, findOne, get, put] |
arc.fusion.render.latency | 渲染组件的时间(毫秒) | render:[component] collection: [output-type, layout feature, chain] type:[feature type] |
PageBuilder Engine 发布记录在 此处的 Confluence(内部),并在 此处的 ALC 向客户公开显示。
有关发布新 Engine 版本的详细信息,请参见 ./documentation/maintainers/PUBLISH.md。
Jenkinsfile(见下文示例)groovypipeline { agent any stages { stage('Hello') { steps { echo 'Hello from repo branch' } } } }
前提条件:要通过 SSH 连接到构建服务器,您需要 pem 证书。请向 engine 团队成员索取。
chmod 400 [pem 文件路径] 为您的 pem 文件添加 400 权限ssh -i [pem 文件路径] centos@10.72.240.113docker exec -ti jenkins bashsudo docker exec -it --user root jenkins bash /data/jenkins/ /var/jenkins_home
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务