用法

您可以按以下方式使用 Logging Parent

  1. 在您的 pom.xml 中添加 org.apache.logging:logging-parent:11.0.0 作为 parent

  2. 您可能需要将 .mvn/jvm.config 添加到您的项目中。请参阅 此示例

  3. 检查 ./mvnw verify 是否成功,否则进行必要的更改

  4. 复制并调整支持文件(.gitignore.github/workflows/build.yaml 等)

  5. 复制并调整 Log4j 变更日志文件

    • src/changelog/.<majorVersion>.x.x/.release-notes.adoc.ftl

    • src/changelog/.changelog.adoc.ftl

    • src/changelog/.index.adoc.ftl

  6. 为了创建一个基于 Antora 的网站

    1. 复制以下文件并进行调整

      • antora-playbook.yaml

      • package.json

      • src/site/antora/antora.yml

      • src/site/antora/.antora.yml

      • src/site/antora/modules/ROOT/pages/release-notes.adoc

    2. 使用 ./mvnw site 构建网站

    3. 通过将浏览器指向 target/site 检查生成的网站

网站部署

使用 deploy-site-reusable.yaml 可重用 GitHub Actions 工作流,您可以自动执行暂存和生产环境的网站部署。

示例:Logging Parent 分支方案

请参阅 Logging Parent 的 deploy-site.yaml 如何使用

<source-branch>-site-<environment>-out

分支命名约定

暂存网站

https://logging.staged.apache.org/logging-parent

生产网站

https://logging.apache.org/logging-parent

发布暂存网站

https://logging.staged.apache.org/logging-parent-<version>

分支 main

包含构建暂存网站源代码(即 AsciiDoc 文件)。

分支 main-site-stg-out

由针对 main 的更改触发的流程自动填充。它包含暂存网站内容(即 HTML 文件)。简而言之,CI 构建 main 并将生成的 target/site 复制到 main-site-stg-out

分支 main-site-pro

包含构建生产网站源代码(即 AsciiDoc 文件)。它由维护人员手动填充。例如,

  • 发布后,发布标签将合并到 main-site-pro

  • main 中存在可以也进入生产网站的次要网站修复时,它们会被cherry-pickmain-site-pro

  • 当存在仅生产网站修复时,它们会被提交到 main-site-pro

分支 main-site-pro-out

由针对 main-site-pro 的更改触发的流程自动填充。它包含生产网站内容(即 HTML 文件)。简而言之,CI 构建 main-site-pro 并将生成的 target/site 复制到 main-site-pro-out

分支 release/<version>

包含构建发布暂存网站源代码(即 AsciiDoc 文件)。它由发布经理在发布期间手动填充

分支 release/<version>-site-stg-out

由针对 release/<version> 的更改触发的流程自动填充。它包含发布暂存网站内容(即 HTML 文件)。简而言之,CI 构建 release/<version> 并将生成的 target/site 复制到 release/<version>-site-stg-out

基本原理

此分支方案允许

  • 在一个存储库中托管多个网站

  • 并行部署多个版本的暂存网站

示例:Log4j 网站分支方案

例如,Log4j 项目使用以下分支方案

表 1. Log4j 网站部署的分支方案

描述

分支名称

Log4j 2

Log4j 3

暂存网站源代码

2.x

main

暂存网站内容

2.x-site-stg-out

main-site-stg-out

生产网站源代码

2.x-site-pro

main-site-pro

生产网站内容

2.x-site-pro-out

main-site-pro-out

发布暂存网站源代码

release/<version>

发布暂存网站内容

release/<version>-site-stg-out