Continuous
Begrippen
Continuous integration
Er wordt een gebuild en getest wanneer er gepusht wordt naar een repository
Continuous delivery
Continuous integration en er wordt bijvoorbeeld een nuget package gemaakt (release)
Continuous deployment
Voorgaande stappen + er wordt naar productie gepushed
Build opzetten
Build agent (queue)
- Build agents zijn de machines die de build draaien
- Voor de minor is er een
minor queue
Capabilities
- Kan de agent Xamarin bouwen
- Staat er een x versie van visual studio op
- Docker versie
- Java versie
- PowerShell versie
- Etc.
Build tasks
Restore
- Restoret nuget packages
- Via Dotnet core task
- Als target bijvoorbeeld
Dag40.ContinuousDelivery/**/*.csproj
** betekent een willekeurige folder in de Dag40.ContinuousDelivery map
*.csproj betekent een willekeurige filenaam die eindigt op .csproj
Build
- Bouwt de applicatie
- Kan op verschillende manieren
- Dotnet core task
- Visual studio task
- Geeft warnings en error beter weer
Test
- Filteren op folders met ‘Test’ o.i.d.
- Niet-test projecten testen levert een exit-code 0 fout op
Triggers
Continuous integration
- Branch kiezen waarop de trigger afgaat
- Paden kiezen waarop de trigger afgaat
Schedule
Handig bij javascript applicaties
- Bij npm kan je een major versie aangeven
- Krijg je de nieuwste subversie van deze major versie
- Kan ervoor zorgen dat er een dependency veranderd is waardoor de applciatie niet meer werkt
Deployment
Azure
Azure container registry
Soort NuGet feed voor docker
- Docker images pullen vanuit azure
Docker host
- De daadwerkelijke host voor de docker images