Architectus Implementation

CI/CD Flow Diagram

architectus-cicd-flow

CI/CD Configuration

GitHub Actions (Primary)

Hub (architectus-docs):

  • Triggered by push to main

  • Triggered by repository_dispatch from spokes

  • Builds Antora site

  • Deploys via Cloudflare Pages webhook

Spokes:

  • Triggered by push to main (docs changes only)

  • Sends repository_dispatch to hub

  • Requires HUB_DISPATCH_TOKEN secret

GitLab CI (Backup)

Hub (architectus-docs):

stages:
  - build
  - deploy

build:
  script:
    - npm ci
    - npx antora antora-playbook.yml
  artifacts:
    paths:
      - build/site/

deploy:
  script:
    - npm install -g wrangler
    - wrangler pages deploy build/site --project-name=architectus

Required CI/CD Variables:

  • CLOUDFLARE_API_TOKEN - Pages deploy permission

  • CLOUDFLARE_ACCOUNT_ID - Account ID

  • CF_PAGES_PROJECT - Project name (architectus)

Spokes:

  • Trigger hub pipeline via API

  • Requires HUB_TRIGGER_TOKEN and HUB_PROJECT_ID

Cloudflare Pages Setup

Initial Configuration

  1. Dashboard → Pages → Create project

  2. Connect GitHub: EvanusModestus/architectus-docs

  3. Build settings:

    Setting Value

    Build command

    npm ci && npx antora antora-playbook.yml

    Output directory

    build/site

    Node version

    20

Custom Domain

  1. Custom domains → Add domain

  2. Enter: docs.architectus.dev

  3. DNS auto-configured (or add CNAME manually)

DNS Records

Type Name Value

CNAME

docs

architectus-docs.pages.dev