Asciidoctor to potężne narzędzie do generowania dokumentacji, które wykorzystuje prosty format tekstowy AsciiDoc. W połączeniu z Structurizr, narzędziem do modelowania architektury systemów, Asciidoctor umożliwia tworzenie kompletnej, łatwej w edycji i automatycznie aktualizowanej dokumentacji technicznej, która ewoluuje wraz z rozwojem projektu.
Przykład integracji Asciidoctor ze Structurizr: Workspace DSL z folderem AsciiDoc
W tym przykładzie przedstawiam praktyczne zastosowanie integracji Asciidoctor ze Structurizr w konfiguracji Workspace DSL, gdzie pliki AsciiDoc są wbudowane w strukturę projektu.
Struktura projektu
Zakładamy, że w strukturze projektu znajduje się folder docs przeznaczony na dokumentację AsciiDoc oraz plik workspace.dsl do definiowania modeli w Structurizr.
/projekt
├── /docs
│   ├── index.adoc
│   └── architecture.adoc
├── workspace.dsl
└── ...inne pliki projektu
Przykładowy plik workspace.dsl
W pliku workspace.dsl definiujemy model architektury systemu. Przykład prostego modelu kontekstowego:
workspace {
    model {
        user = person "Użytkownik" {
            description "Osoba korzystająca z systemu"
        }
        
        system = softwareSystem "System aplikacyjny" {
            !docs docs
            description "Aplikacja webowa"
            user -> system "Używa"
        }
    }
    views {
        systemContext system {
            include *
            autolayout lr
        }
        
        theme default
    }
  
}
W tym przykładzie:
- model: Definiujemy model systemu z użytkownikiem oraz aplikacją webową.
 - za pomocą dyrektywy !docs wskazujemy folder do dokumentacji
 - views: Tworzymy widok kontekstowy systemu, który będzie automatycznie rozmieszczany w układzie lewo-prawo.
 
Przykładowy plik index.adoc w folderze docs
W pliku index.adoc możemy umieścić opis systemu, informacje o jego architekturze oraz osadzić diagramy wygenerowane przez Structurizr:
= Dokumentacja architektury systemu
Autor: Zespół IT
:date: 2024-09-18
== Wprowadzenie
Ten dokument opisuje architekturę naszego systemu aplikacyjnego.
== Diagram kontekstowy
Poniżej znajduje się diagram kontekstowy, który pokazuje głównych uczestników systemu i ich interakcje:
image::system[]
Kroki do uruchomienia projektu
- Tworzenie modelu architektury: Zdefiniuj w pliku workspace.dsl model systemu, który chcesz odwzorować w diagramach.
 - Dodanie dokumentacji: Umieść pliki AsciiDoc w folderze docs, które będą dokumentować poszczególne elementy systemu.
 - Integracja z narzędziem do CI/CD: Automatycznie generuj dokumentację i aktualizuj ją na podstawie zmian w modelu architektury za pomocą narzędzi CI/CD.
 - Generowanie do formatów typu pdf html
 - Importowanie do Confluence
 - Utrzymywanie w środowisku Structurizr - OnPremises lub Cloud Service o czym niedługo :)
 
Korzyści z integracji Asciidoctor i Structurizr
- Automatyczna aktualizacja dokumentacji: Gdy model architektury w Structurizr zmienia się, dokumentacja w Asciidoctor jest automatycznie aktualizowana.
 - Spójność dokumentacji: Dzięki Asciidoctor dokumentacja pozostaje zwięzła, czytelna i zawsze aktualna.
 - Elastyczność formatów: Dokumentację stworzoną w Asciidoctor można wyeksportować do różnych formatów (HTML, PDF), co czyni ją wszechstronną i łatwo dostępną.
 
Podsumowanie
Integracja Asciidoctor z Structurizr w ramach Workspace DSL to potężne narzędzie, które umożliwia zespołom IT efektywne tworzenie i zarządzanie dokumentacją techniczną. Dzięki tej integracji, zespoły mogą na bieżąco aktualizować dokumentację, zapewniając jej spójność z modelem architektury systemu, co znacznie ułatwia pracę i zwiększa efektywność projektu.

Brak komentarzy:
Prześlij komentarz