🔧 DevOps – Source Control (Repos)

Source Control vormt de basis voor gecontroleerde en consistente ontwikkeling. Binnen DevOps wordt gebruikgemaakt van Git voor het beheren van code, configuratie en data. In Azure DevOps wordt dit gerealiseerd via Repos.

../deploy.html ← Terug naar Deploy

Context binnen DevOps

  • Source Control → concept (versioning, samenwerking)
  • Repos → implementatie (Azure DevOps Git repositories)
  • Pipelines → build & deployment

👉 Source Control beschrijft het waarom en hoe van versioning. Repos is de technische implementatie hiervan.


Introductie

Source Control vormt de basis voor gecontroleerde en consistente ontwikkeling. Hiermee worden code, configuratie en data centraal beheerd en versieerbaar gemaakt.

  • centrale opslag van code en configuratie
  • traceerbare wijzigingen
  • samenwerking via branches en pull requests
  • basis voor CI/CD pipelines

1. Wat is Source Control?

  • Git-gebaseerd versiebeheersysteem
  • beheer van wijzigingen via commits
  • samenwerking via branches
  • controle via pull requests

👉 Source Control maakt wijzigingen inzichtelijk en reproduceerbaar.


2. Implementatie: Repos

  • Azure DevOps Repos als Git-platform
  • repositories voor code, configuratie en data
  • integratie met Boards en Pipelines
  • ondersteuning voor branches en pull requests

👉 Repos is de technische invulling van Source Control binnen DevOps.


3. Inhoud van Repositories

🔹 Dataverse (applicatie)

  • plugins (C#)
  • JavaScript en web resources
  • custom APIs
  • solution packing

🔹 Configuratie

  • pipeline configuratie
  • environment variabelen
  • JSON configuratiebestanden
  • connection references

🔹 Microsoft Fabric (data)

  • notebooks (Python / Spark)
  • SQL scripts
  • data pipelines
  • semantic models
  • lakehouse configuratie

👉 Zowel applicatie- als data-oplossingen worden volledig version controlled.


4. Reference Data (belangrijk)

Naast code en configuratie kan ook reference data worden beheerd via Source Control. Dit betreft stamdata zoals landen, statussen of codes.

  • centraal beheerd in JSON bestanden
  • 1-op-1 overdraagbaar tussen omgevingen
  • consistentie van primaire sleutels

👉 Dit wordt beheerd via een bestand zoals ReferenceData.json binnen Repos.

👉 Hierdoor wordt stamdata onderdeel van de DevOps pipeline en deployments consistent uitgevoerd.


5. Branching strategie

Basisprincipes

  • main branch als centrale basis
  • feature branches voor wijzigingen
  • geen directe wijzigingen op main

Flow

Feature branch
   ↓
Development
   ↓
Pull Request
   ↓
Review
   ↓
Merge naar main

👉 Voorkomt ongecontroleerde wijzigingen.


6. Commits en versiebeheer

  • kleine en logische commits
  • duidelijke commit messages
  • koppeling met Boards (work items)

👉 Goede commits zorgen voor traceability.


7. Pull Requests

  • code review
  • kwaliteitscontrole
  • kennisdeling

👉 Pull requests verhogen kwaliteit en samenwerking.


8. Relatie met Pipelines

  • pipelines gebruiken code uit Repos
  • commits triggeren builds
  • deployments gebaseerd op versies

9. Relatie met ALM

  • versiebeheer binnen lifecycle
  • koppeling development → deployment
  • borging consistentie

10. Best practices

  • alles in source control (code + config + data)
  • gebruik branches per wijziging
  • pull requests verplicht
  • consistent naming
  • koppel aan work items

11. Veelgemaakte fouten

  • werken op main branch
  • geen branching strategie
  • geen code reviews
  • configuratie niet versioneren
  • geen koppeling met pipelines

Samenvatting

Source Control vormt de kern van DevOps en zorgt voor controle, samenwerking en traceability. Repos is de implementatie waarin code, configuratie en data worden beheerd, waardoor een consistent en reproduceerbaar ontwikkelproces ontstaat.