ashishrajsrivastava / az-400-shared

We will share az 400 training sessions content here
MIT License
0 stars 0 forks source link

Define and implement continuous integration (20-25%) #6

Open ashishrajsrivastava opened 4 years ago

ashishrajsrivastava commented 4 years ago

Design build automation

• integrate the build pipeline with external tools (e.g., Dependency and security scanning, Code coverage) • implement quality gates (e.g. code coverage, internationalization, peer review) • design a testing strategy (e.g. integration, load, fuzz, API, chaos) • integrate multiple tools (e.g. GitHub Actions, Azure Pipeline, Jenkins)

Design a package management strategy

• recommend package management tools (e.g. GitHub Packages, Azure Artifacts, Azure Automation Runbooks Gallery, Nuget, Jfrog, Artifactory) • design an Azure Artifacts implementation including linked feeds • design versioning strategy for code assets (e.g. SemVer, date based) • plan for assessing and updating and reporting package dependencies (GitHub Automated Security Updates, NuKeeper, GreenKeeper) • design a versioning strategy for packages (e.g. SemVer, date based) • design a versioning strategy for deployment artifacts

Design an application infrastructure management strategy

• assess a configuration management mechanism for application infrastructure • define and enforce desired state configuration for environments

Implement a build strategy

• design and implement build agent infrastructure (include cost, tool selection, licenses, maintainability) • develop and implement build trigger rules • develop build pipelines • design build orchestration (products that are composed of multiple builds) • integrate configuration into build process • develop complex build scenarios (e.g. containerized agents, hybrid, GPU)

Maintain build strategy

• monitor pipeline health (failure rate, duration, flaky tests) • optimize build (cost, time, performance, reliability) • analyze CI load to determine build agent configuration and capacity • manage pipeline health • identify the number of agents and jobs to run in parallel

• investigate test failures

Design a process for standardizing builds across organization

• manage self-hosted build agents (VM templates, containerization, etc.) • create reuseable build subsystems (YAML templates, Task Groups, Variable Groups, etc.)

ashishrajsrivastava commented 4 years ago

@TheAzureGuy007 Please assign a label to this issue indicating how many days it will take to cover these issues. One day session will be 3hours. So if think the content is covered in 6 hours then you will assign 2days label and so on. Feel free to create labels according to your time expectation for the module.