Design and implement build and release pipelines Flashcards
What percent of the total exam questions are dedicated to this subject?
40% to 45 %
What is a summary of the various parts of the build automation flow in Azure pipelines?
- A Trigger triggers a pipeline
- Pipeline consists of stages
- Each stage is executed as a job on an agent once all of the jobs required upstream jobs are finished
- A job/stage is a sequence of steps which can be custom scripts or Azure DevOps custom tasks like ‘Publish Build Artifact’
How can external tools be integrated with the build pipeline?
When the needed functionality is not part of the native set of tasks, the visual studio marketplace provides access to many 3rd party tasks. In the event that your need still isn’t covered, custom tasks and extensions can be developed.
How and why would quality gates be a configured?
Quality gates allow us to define a of minimum criteria which must be met before we deploy. These criteria may be that a specific number or specific people have approved the code, that any issues related to the it are resolved, that a security scan on the code has completed successfully, that the tests have ran successfully, that the network meets specific conditions (speed, connectivity, stability etc.).
What should be considered when designing a testing strategy?
How can an Azure DevOps pipeline trigger another pipeline?
What are the recommended package management tools when working with Azure DevOps?
GitHub Packages and Azure Artifacts
What are the main features of Artifact Feeds?
- Manage your packages structure (groups, permissions etc.)
- Enable your packages to downloaded from everywhere by anyone with a public feed.
- Enable subsets of your packages to be available to different configured groups with feed views
What is the versioning nomenclature recommended?
Semantic versioning or calendar versioning
What are the deployment automation solutions offered by Azure DevOps?
Using GitHub actions as a trigger for an Azure pipeline or simply A-Z Azure pipeline.
What are the primary terms associated with ‘build agent infrastructure’?
- Build agents
- Agent pools
- Microsoft-hosted agents
- Self-hosted agents
What are standard specifications of a Microsoft-hosted agent?
What are the different build triggers and build trigger rules?
How are build pipelines defined?
Principally using YAML files or the designer
interface.
Designer
is being phased out. Focus on YAML.
What does a job execution order including parallelism and multi-stage look like?
Can Microsoft hosted agents access non public endpoints?
Probably not. If you need your agents to access internal services which are controlled by network and authentication, you will probably need to configure on-prem agents which can access the internal services and connect them to an Azure agent pool so that they are usable agents for job being run on AzureDevOps.
What is the purpose of grouping agents in ‘agent pools’?
All agents in a particular agent pool are generally part of a category which can execute jobs of a similar nature. You could have a linux-agent-pool and a windows-agent-pool or maybe split by release configuration or even just the product being built. Jobs are given an agent pool as an input so all agents in that pool should be able to execute the job in question.
When it comes to self hosted build agents, what is the difference between ‘interactive mode’ and ‘Service mode’?
Interactive procresses are usually easier to debug if necessary. Service mode usually means that it is ran as a background process and may not provide the possibility to display a UI.
What are the mechanisms availble to make build pipeline logic reusable?
- Separate a set of actions into a semarate yml file and invoke as aften as needed
- Using the designer interface, create task groups and then reference it when needed in any build pipeline
- Use variable groups to hold the variables which are then parameters to be used when a repeatable block is re-used
What is the difference between designing release gates using the designer UI and in YAML files?
Porting the designer interface features to yml required a slight difference in the implementation. YAML files require the use of environments
(when using the designer UI the environment is known from your location within the url tree).
The environment is where you implement your criteria for the quality gate such as number of approvals.
What are the available deployment slot options?
- Run Once - run deployment a single time
- Rolling - Run this deployment on each of the targets
- Canary - Deploy in parallel but manage the traffic (let a little traffic in leak in to those environments)
What is a deployment slot?
Deployment slots are live apps with their own hostnames. App content and configuration elements can be swapped between two deployment slots, including the production slot.
How to define an order of execution in a build pipeline?
Using DependsOn
on Azure pipelines or needs
on Github actions.
What is a blue green deployment strategy?
Deploy to a new environment and use a load balancer to slowly send traffic to the new deployment.