Confluence workbench mirror

Project setup

Guarded rendering from the committed top-level `confluence/` mirror. No live source, personal data, or write action is available.

Kind
PAGE
Version
3
Labels
0
Children
0
On this page
  1. Unsupported Confluence macro: anchorUnsupported macro placeholder; source behavior is intentionally inert.No displayable parameters.Continuous Integration (CI)
  2. Unsupported Confluence macro: anchorUnsupported macro placeholder; source behavior is intentionally inert.No displayable parameters.Continuous Deployment (CD)
  3. Unsupported Confluence macro: anchorUnsupported macro placeholder; source behavior is intentionally inert.No displayable parameters.Repository, Branching Strategy, Optimization & Scaling
  4. Unsupported Confluence macro: anchorUnsupported macro placeholder; source behavior is intentionally inert.No displayable parameters.Source code & Artifacts
  5. Unsupported Confluence macro: anchorUnsupported macro placeholder; source behavior is intentionally inert.No displayable parameters.Monitoring en Feedback
  6. Documentation and Collaboration

In dit hoofdstuk is beschreven:

Het project bestaat uit een CI/CD pipeline met monitoring en feedback, met een repository en een branching strategie. Daarnaast wordt voorzien in security en compliance, met de mogelijkheid tot documenteren en collaboration. 

Continuous Integration (CI)

Bestaat uit een Build Pipeline met triggers en tasks. De build pipeline wordt automatisch getriggerd bij elke push naar de repository of specifieke branches zoals 'main' en 'develop'. De pipeline bevat verschillende taken:

      • Restore Dependencies: Afhankelijkheden worden hersteld met behulp van NuGet restore.
      • Build Solution: De oplossing wordt gebouwd met MSBuild.
      • Run Tests: Unit tests worden uitgevoerd met MUnit.
      • Publish Artifacts: Build-artifacten worden gepubliceerd voor gebruik in de release pipeline.

Continuous Deployment (CD)

Bestaat uit een Release Pipeline met stages, approvals en tasks. De release pipeline is opgedeeld in verschillende stages: Test, Acceptatie en Productie. Goedkeuringen zijn ingesteld voor elke stage om ervoor te zorgen dat alleen goedgekeurde wijzigingen worden geïmplementeerd. De taken in elke stage omvatten:

      • Deploy to Environment: Implementatie naar de juiste omgeving, zoals RTF- of HACluster-Test.
      • Run Integration Tests: Integratietests worden uitgevoerd om de integriteit van de applicatie te waarborgen.
      • Configuration Management: Configuraties worden beheerd met Azure Key Vault .

Repository, Branching Strategy, Optimization & Scaling

De pipelines zijn geoptimaliseerd voor snelheid en efficiëntie door caching en parallelle builds. De infrastructuur is op dit moment niet schaalbaar opgezet.
Een Git-repository is aangemaakt in Azure Repos, waarin de broncode wordt beheerd. De repository is georganiseerd volgens de best practices, met duidelijke mappenstructuren en README-bestanden.
Er is een branching-strategie geïmplementeerd, gebaseerd op GitFlow. Dit omvat feature branches voor testen en kwaliteit van nieuwe functies, release branches voor voorbereidingen op productie, en hotfix branches voor snelle bugfixes. Zo kunnen meerdere personen tegelijkertijd aan de feature branches werken, zonder dat de main branch aangepast hoeft te worden.

Source code & Artifacts

Source code is de verzameling van menselijke leesbare instructies die een computerprogramma vormen. In het geval van een CI/CD-pipeline voor API-deployment, bevat de source code alle logica, functies en configuraties die nodig zijn om de API te laten werken. Dit omvat:

  • API-endpoints: De routes en methoden die de API aanbiedt.
  • Businesslogica: De regels en processen die de API uitvoert.
  • Configuratiebestanden: Instellingen en parameters die de werking van de API beïnvloeden.
  • Tests: Scripts die de functionaliteit en betrouwbaarheid van de API controleren.
  • Documentatie: Uitleg en handleidingen voor ontwikkelaars die de code onderhouden of gebruiken.

Artifacts binnen een CI/CD-pipeline zijn de bestanden en componenten die worden gegenereerd tijdens het buildproces en die nodig zijn voor de deployment van een applicatie, zoals een API. Deze artifacts bestaan uit:

  • Gecompileerde code: De uitvoerbare bestanden die zijn gegenereerd uit de broncode.
  • Configuratiebestanden: Instellingen die nodig zijn voor de applicatie om correct te functioneren in verschillende omgevingen.
  • Bibliotheken en afhankelijkheden: Externe modules en pakketten die de applicatie nodig heeft.
  • Container images: Geïsoleerde omgevingen waarin de applicatie draait, zoals Docker-images.
  • Documentatie: Handleidingen en instructies voor het gebruik en onderhoud van de applicatie.

Artifacts zijn essentieel omdat ze zorgen voor consistentie en reproduceerbaarheid in het deploymentproces.
Gebaseerd op best practice mogelijkheden om dependencies te beheren. Combinatie van Maven- en Mulesoft best practices. Dependencies worden ingeladen via Maven. Artifacts ophalen uit Exchange (Maven repository, hier staan dependencies in) om source code te kunnen deployen. Ook een eigen artifact repository (Azure Artifacts).

Monitoring en Feedback

Monitoring en feedback bestaat uit dashboards en alerts. Alerts zijn ingesteld voor kritieke metrics om snel te kunnen reageren op problemen in CheckMK. Er zijn dashboards aangemaakt voor real-time monitoring van de applicatie in Anypoint API Manager Anypoint Runtime Manager, en de infrastructuur in CheckMK.

Documentation and Collaboration

De Wiki in Azure DevOps wordt gebruikt voor documentatie van het project, inclusief handleidingen en architectuurbeschrijvingen. Azure Boards wordt gebruikt voor het beheren van werkitems, user stories en sprints, wat zorgt voor een gestructureerde en transparante workflow.

Mirror provenance
Mirror source
confluence/spaces/INFRAARCH/pages/189137023/page.metadata.json
Storage source
confluence/spaces/INFRAARCH/pages/189137023/page.storage.xhtml
Access
Committed snapshot only