Zum Inhalt

CI/CD-Integration

Automatisieren Sie die Markdown ↔ Confluence Synchronisation mit CI/CD-Pipelines.


GitHub Actions

Upload bei Push

Dokumentation automatisch nach Confluence hochladen bei Push auf main:

name: Docs nach Confluence synchronisieren

on:
  push:
    branches: [main]
    paths: ['docs/**']

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: .NET einrichten
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '10.0.x'

      - name: Node.js einrichten
        uses: actions/setup-node@v4
        with:
          node-version: '22'

      - name: mermaid-cli installieren
        run: npm install -g @mermaid-js/mermaid-cli

      - name: ConfluenceSynkMD bauen
        run: dotnet build

      - name: Nach Confluence hochladen
        env:
          CONFLUENCE__BASEURL: ${{ secrets.CONFLUENCE_BASEURL }}
          CONFLUENCE__AUTHMODE: Basic
          CONFLUENCE__USEREMAIL: ${{ secrets.CONFLUENCE_EMAIL }}
          CONFLUENCE__APITOKEN: ${{ secrets.CONFLUENCE_TOKEN }}
        run: |
          dotnet run --project src/ConfluenceSynkMD -- \
            --mode Upload \
            --path ./docs \
            --conf-space ${{ vars.CONFLUENCE_SPACE }} \
            --root-page "Auto-synchronisierte Dokumentation" \
            --skip-update \
            --title-prefix "[CI] "

Erforderliche Secrets

Secret Beschreibung
CONFLUENCE_BASEURL z.B. https://yoursite.atlassian.net
CONFLUENCE_EMAIL Atlassian-Account-E-Mail
CONFLUENCE_TOKEN Atlassian API-Token

Ohne Upload validieren

Verwenden Sie --local in PR-Checks zur Validierung ohne API-Aufrufe:

- name: Konvertierung validieren
  run: |
    dotnet run --project src/ConfluenceSynkMD -- \
      --mode Upload --path ./docs --conf-space DUMMY --local

Tipps

  • --skip-update — Unveränderte Seiten nicht erneut hochladen
  • --title-prefix "[CI] " — Auto-generierte Seiten kennzeichnen
  • --no-write-back — Pipeline-Änderungen an Quelldateien verhindern
  • --loglevel warning — Saubere CI-Ausgabe