Werken in Archi met de GEMMA


VNGR heeft gekozen om haar Archimate-modellen te ontwikkelen en beheren met Archi en git. Op deze pagina staat beschreven wat je nodig hebt om met Archi te kunnen werken en hoe je toegang krijgt tot de Archimate-modellen opgeslagen in de git-repositories.

Zie de pagina Archi installeren voor instructies en links van plug-ins en configuratiebestanden

Archi documentatie[bewerken]

Hier een aantal links voor meer Archi documentatie en tips:

Werken met Archimate-modellen[bewerken]

Je kunt in Archi een Archimate-model opslaan in een bestand (met .archimate extensie) of publiceren in een git-repository. Beide hebben hun bestaansrecht, kies voor

  • opslaan in bestand
    • snel, geen voorbereiding nodig en kan altijd later alsnog in git worden beheerd
    • voor wat 'plaatjes' zonder versiebeheer en samenwerking via de mail
  • publiceren in git-repository
    • bewerkelijker, maar gaat snel als je het vaker doet.
    • versiebeheer voor persoonlijk gebruik
    • versiebeheer en samenwerken met een zelf te bepalen groep mensen

De rest van deze paragraaf gaat ervan uit dat een Archimate-model wordt gepubliceerd in een git-repository.

Hoe open je een in git gepubliceerd model[bewerken]

Om met Archi een bestaand Archimate-model te openen, heb je alleen de URI van de git repository nodig.

Voorbeeld hoe je eenvoudig de publieke GEMMA ArchiMate-repository kunt openen in Archi

  • met de browser
  • met Archi
    • Collaboration > import remote model to workspace
    • plak de git URL in de pop-up
    • En je kunt het model in Archi bekijken

Dit werkt voor Archimate-modellen die via git gepubliceerd zijn. Kijk bijvoorbeeld eens naar:

Je kunt met Archi deze publieke Archimate-modellen bekijken en ook wijzigen. Je kunt de wijzigingen echter niet publiceren, hiervoor heb je schrijfrechten in de repository nodig. Maar je kunt de wijzigingen wel opslaan in een lokaal bestaan en eventueel vervolgens in je eigen git repository.

Als je in een Archimate-model wilt samenwerken en dus ook je wijzigingen in het model wilt kunnen publiceren, zul je bij de beheerder of eigenaar van de repository schrijfrechten moeten aanvragen.

Versiebeheer voor een Archimate-model[bewerken]

Door een Archimate-model niet in een bestand bewaren, maar in git te publiceren, beschik je over versiebeheer. Met git versiebeheer kun je wijzigingen als één bij elkaar horende set bewaren, in een commit. Archi toont in de Change history alle commits. Je kunt nu 'tijdreizen' door oude commits te openen, waarna je kunt bekijken hoe het model in een vorige versie in elkaar zat.

Als je het model niet met anderen hoeft te delen, dan kun je een persoonlijke git repository aanmaken. Dit kan bij alle git-providers, hieronder is gekozen voor GitLab.

  • met de browser
    • Ga naar Project > Your projects
    • Maak een nieuw project met daarin een repository (groene button rechts boven [new project])
      • Geef een naam en kies voor private (standalone) of public (publiceren of samenwerken)
    • Copy de URL, kies voor SSH of HTTPS
  • Open Archi
    • Maak een nieuw model aan of open een bestaand model in een bestand. Het model mag helemaal leeg zijn.
    • Collaboration > Add local model to workspace and publish
      • plak de git URL in de pop-up
    • Het model is nu gelinkt aan de GitLab-repository.
      • opslaan bewaart het model in een lokaal bestand
      • commit maakt een nieuwe versie aan in de lokale git-repository
      • publish publiceert de laatste versie bij GitLab

Zie verder de wiki coArchi – Model Collaboration for Archi hoe je met Archi en versies werkt.

Bekijken wijzigingen met git[bewerken]

In Archi zie je in de change-history de lijst van commits, de commit message, door wie en wanneer deze is doorgevoerd. Maar je ziet niet in detail wat is gewijzigd. Onder water zijn alle wijzigingen met git te bekijken. Je kijkt dan in de XML-bestanden in de GEMMA-repository.

In Archi kun je de locatie van de lokale git-repository vinden:

  • open de tab Collaboration workspace
  • selecteer de repository
  • ga naar de tab Properties > Information.
  • achter location staat de directory van lokale git-repository

Je kunt vanaf de command line met git commando's de wijzigingen opvragen. Of gebruik een grafische git-client en open de gevonden map in deze client.

GEMMA git-flow[bewerken]

Voor het doorvoeren van wijzigingen in het GEMMA ArchiMate-model maken we gebruik van de git-flow A successful Git branching model. De GEMMA kent dan de volgende branches:

  • master, bevat de gepubliceerde stabiele releases
    • dit is de hoofdbranch, die iedere repository heeft
    • releases worden vanuit de master-branch uitgevoerd nadat alle relevante wijzigingen uit de develop branch zijn gemerged
  • develop, bevat de meest actuele opgeleverde nieuwe onderdelen.
    • hiervandaan worden feature branches aangemaakt.
    • als een feature is afgerond, wordt deze weer in de develop-branch gemerged
    • kleine wijzigingen en toevoegingen kunnen direct in de develop-branch worden doorgevoerd
  • feature branches; voor grote uitbreiding/wijziging op de GEMMA wordt een feature branche gemaakt
    • de naam van een feature branches refereert aan wat gemaakt wordt. Bijvoorbeeld de feature "Impactanalyse BRK" of "WOO"

Voordelen van deze werkwijze is dat releases gecontroleerd samengesteld kunnen worden door de 'maintainers' van de master branche. Ondertussen kunnen architecten onafhankelijk van de release-cycle werken aan features. Zodra een feature af is wordt deze gemerged met de develop branche om te worden opgenomen in een volgende release.

We maken geen gebruik van release-branches en hotfix-branches. Deze zijn niet relevant voor architectuurmodellen. We onderhouden tenslotte geen oude releases en kennen ook geen hotfixes.

Wanneer een feature-branch aanmaken[bewerken]

Wat is een kleine wijziging die je direct in develop doorvoert en wanneer kies je nu voor een feature-branch?

Kleine wijziging

Een kleine wijziging is een wijziging die niet leidt tot conflicten met andere wijzigingen.

  • heeft een korte doorlooptijd van maximaal enkele dagen.
  • bestaat uit toevoegingen (een nieuwe standaardversie, een nieuwe view, ...)
    • een nieuwe standaardversie moet ook worden toegevoegd aan de (grote) publicatie-view. Check even met collega's of niet iemand anders deze ook wijzigt.
  • de wijziging kan in de eerstvolgende release mee.

Grote wijziging

Een grote wijziging is een fundamentele wijziging in de GEMMA

  • structuurwijziging in GEMMA modellering
  • verwerken projectresultaten in de GEMMA
  • veel wijzigingen die als één geheel mee kunnen in een release
  • doorlooptijd van meerdere werken

maar let op dat de doorlooptijd niet veel langer wordt. Het mergen van een feature-branch nadat veel andere wijzigingen zijn doorgevoerd kan tot problemen leiden.

Git troubleshooting[bewerken]

Merge Branch error: File is not directory or folder.xml not exist

De fout File is not directory or folder.xml not exist is eigenlijk niet op te lossen indien deze optreed bij het mergen van een feature-branch die lang heeft open gestaan. Een deel van de wijzigingen zullen opnieuw moeten worden uitgevoerd.

Fout is ook opgetreden bij het mergen van development met master. Oplossing hier was om master te vervangen door development

git checkout master
git pull
git checkout development
git merge -s ours master
git checkout master
git merge development
Deze pagina is het laatst bewerkt op 6 mrt 2024 om 02:00.