On this page
In dit hoofdstuk is beschreven:
Azure DevOps
We maken gebruik van DevOps, een PaaS (Platform as a Service). Dit betekent dat de tools en infrastructuur die nodig zijn voor DevOps-processen worden geleverd als een cloudgebaseerde service. Dit maakt het eenvoudiger om ontwikkelings- en operationele taken te integreren en te automatiseren.
In ons geval, met de RWS Azure-abonnement, wordt gebruik gemaakt van zowel self-hosted als Microsoft-hosted agents binnen de CI/CD-pipeline. De verschillende componenten en processen:
- Self-hosted agents:
Dit zijn agents die je zelf beheert en host op je eigen infrastructuur, zoals een Linux-machine. Deze agents worden gebruikt om pipelines af te trappen en taken uit te voeren. Ze bieden meer controle en kunnen worden geoptimaliseerd voor specifieke behoeften. In ons geval worden deze agents beheerd door IRI-Infra. Zie ook volgende paragraaf.
- Microsoft-hosted agents:
Dit zijn agents die door Microsoft worden beheerd en gehost. Ze draaien in containers die elke keer opnieuw worden opgespind wanneer een pipeline wordt afgetrapt. Deze agents zijn handig voor taken die geen specifieke configuratie vereisen en bieden schaalbaarheid zonder dat je je zorgen hoeft te maken over het onderhoud van de infrastructuur.
- Azure DevOps Services:
Azure DevOps is de CI/CD-pipeline die wordt gebruikt om de broncode te bouwen, testen en implementeren. Azure Artifacts is de service die wordt gebruikt om de gegenereerde artifacts op te slaan en te beheren.
- Job Queue en Agents:
Wanneer een pipeline wordt afgetrapt, wordt een job request naar de queue gestuurd. De queue beheert de job requests en stuurt ze naar beschikbare agents. Zodra een agent beschikbaar is, pakt deze de job op en voert de taken uit.
- Concurrent Jobs:
Op dit moment kunnen tot 20 gelijktijdige jobs uitgevoerd worden, wat betekent dat meerdere pipelines tegelijkertijd kunnen draaien zonder wachttijden.
Door deze combinatie van self-hosted en Microsoft-hosted agents kunnen we profiteren van zowel flexibiliteit als schaalbaarheid.
Self-hosted Agents
In Azure DevOps zijn self-hosted agents machines die je zelf beheert en configureert om build- en release-pipelines uit te voeren. In tegenstelling tot Microsoft-hosted agents, die door Microsoft worden beheerd en gehost, bieden self-hosted agents meer controle en flexibiliteit over de omgeving waarin je pipelines draaien.
Hier zijn enkele belangrijke punten over self-hosted agents:
- Configuratie en Beheer: Je installeert en configureert de agentsoftware op je eigen machines. Dit geeft je de mogelijkheid om specifieke software, tools en configuraties te gebruiken die je nodig hebt voor je builds en releases.
- Netwerktoegang: Omdat self-hosted agents binnen je eigen netwerk draaien, kunnen ze gemakkelijker toegang krijgen tot interne bronnen en services die niet openbaar toegankelijk zijn. Dit is handig voor builds die afhankelijk zijn van interne systemen.
- Schaalbaarheid: Je kunt zoveel self-hosted agents toevoegen als je nodig hebt om aan de vraag van je build- en release-pipelines te voldoen. Dit maakt het eenvoudig om op te schalen wanneer je project groeit.
- Beveiliging: Je hebt volledige controle over de beveiliging van de machines waarop de agents draaien. Dit betekent dat je kunt zorgen voor naleving van beveiligingsbeleid en -standaarden die specifiek zijn voor jouw organisatie.
We gebruiken de rws-eavl-ftp101, met daarop agent1, agent2 en agent3. Iedere agent kan een job oppakken uit de queue. Mag geen secrets loggen, moet encrypted properties gebruiken.
Mirror provenance
- Mirror source
- confluence/spaces/INFRAARCH/pages/189137020/page.metadata.json
- Storage source
- confluence/spaces/INFRAARCH/pages/189137020/page.storage.xhtml
- Access
- Committed snapshot only