100% found this document useful (1 vote)
159 views

3 Azure Devops Pipeline Part 1

The document discusses Azure DevOps pipelines and key concepts related to builds and releases in Azure Pipelines. It covers topics like build pipelines, release pipelines, agents, artifacts, approvals, environments, and more. It also provides examples of configuring and optimizing builds.

Uploaded by

dlm43n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
159 views

3 Azure Devops Pipeline Part 1

The document discusses Azure DevOps pipelines and key concepts related to builds and releases in Azure Pipelines. It covers topics like build pipelines, release pipelines, agents, artifacts, approvals, environments, and more. It also provides examples of configuring and optimizing builds.

Uploaded by

dlm43n
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

Azure DevOps: Pipeline

Azure DevOps: Managing Pipeline


Key concepts: Azure Pipelines
Types of
Pipeline Build Pipeline
Release Pipeline
• A trigger tells a Pipeline to run.
• A pipeline is made up of one or more stages. A pipeline can deploy
to one or more environments.
• A stage is a way of organizing jobs in a pipeline and each stage can
have one or more jobs.
• Each job runs on one agent. A job can also be agentless.
• Each agent runs a job that contains one or more steps.
• A step can be a task or script and is the smallest building block of a
pipeline.
• A task is a pre-packaged script that performs an action, such as
invoking a REST API or publishing a build artifact.
• An artifact is a collection of files or packages published by a run.
Agent
When your build or deployment runs, the system begins
one or more jobs. An agent is computing infrastructure
with installed agent software that runs one job at a time.
For example, your job could run on a Microsoft-hosted
Ubuntu agent.
Approvals
Approvals define a set of validations required before a deployment runs.
Manual approval is a common check performed to control deployments
to production environments. When checks are configured on an
environment, pipelines will stop before starting a stage that deploys to
the environment until all the checks are completed successfully.
Artifact
An artifact is a collection of files or packages published by a run. Artifacts
are made available to subsequent tasks, such as distribution or
deployment. For more information, see Artifacts in Azure Pipelines.
Continuous delivery
Continuous delivery (CD) is a process by which code is built, tested, and deployed to one or more test and
production stages. Deploying and testing in multiple stages helps drive quality. Continuous integration
systems produce deployable artifacts, which include infrastructure and apps. Automated release pipelines
consume these artifacts to release new versions and fixes to existing systems. Monitoring and alerting
systems run constantly to drive visibility into the entire CD process. This process ensures that errors are
caught often and early.
Continuous integration
Continuous integration (CI) is the practice used by development teams to simplify the testing and
building of code. CI helps to catch bugs or problems early in the development cycle, which makes
them easier and faster to fix. Automated tests and builds are run as part of the CI process. The process
can run on a set schedule, whenever code is pushed, or both. Items known as artifacts are produced
from CI systems. They're used by the continuous delivery release pipelines to drive automatic
deployments.
Deployment
Classic pipelines - For Classic
pipelines, a deployment is the
action of running the tasks for
one stage, which can include
running automated tests,
deploying build artifacts, and
any other actions are specified
for that stage.

YAML pipelines - For YAML


pipelines, a deployment
typically refers to a deployment
job. A deployment job is a
collection of steps that are run
sequentially against an
environment. You can use
strategies like run once, rolling,
and canary for deployment jobs.
Environment
An environment is a collection of
resources, where you deploy
your application. It can contain
one or more virtual machines,
containers, web apps, or any
service that's used to host the
application being developed. A
pipeline might deploy the app to
one or more environments after
build is completed and tests are
run.
Releases – It’s a Pipeline
Library
A library is a collection of build and
release assets for an Azure DevOps
project. Assets defined in a library
can be used in multiple build and
release pipelines of the project.
The Library tab can be accessed
directly in Azure Pipelines.
Task Group
A task group allows you to
encapsulate a sequence of tasks,
already defined in a build or a
release pipeline, into a single
reusable task that can be added to
a build or release pipeline, just like
any other task. You can choose to
extract the parameters from the
encapsulated tasks as configuration
variables, and abstract the rest of
the task information.
Deployment group
A deployment group is a set of
deployment target machines that
have agents installed. A deployment
group is just another grouping of
agents, like an agent pool. You can
set the deployment targets in a
pipeline for a job using a deployment
group. Learn more about
provisioning agents for deployment
groups.
Types of
Pipeline Build Pipeline
Release Pipeline
How a Build Is Set Up

Build definition Build Steps / Tasks Build Agent


Pipeline
- Use the classic editor
Select the Build Source
Select the Build Template
Configure the Build Tasks
Select the Build Agent
Demo

Configure and run an ASP.NETbuild


Build Infrastructure
Agents and Pipelines

Hosted Build Agent Pipelines Custom Build Agent


Build Security
Pools & Queues

(Hosted) Agent Agent Queues Agent Pools


Demo

Setting up a custom agent and security


Setting up Continuous IntegrationBuilds
Demo
Continuous integration with Azure
DevOps and GitHub
Configuring More SpecializedBuilds
Outline Build details
Tasks and the market place
Optimize your builds

Yaml builds
Build Details
Build Variables

Custom Variables
$(variablename)
Build In Variables
Variables From PowerShell
Secrets
Environment Variable
Build Triggers

Continuous Integration
Branch Filters
Pull Request
Gated Check-in
Build Options

Build Job Properties


Demands
Build Number Format
Work-Items
Oauth Token
Build Retention & History

Retention Policy
Change History
Tasks and the Market Place
Demo

More build details for various builds


Optimize Your Builds
Fast Feedback Starts with Fast Build Server(s)

Configuration optimized for


the task at hand:
- Fast IO (local disks, SSD
preferred)
- Fast CPU

Located ‘near’ the sources


and the drop location
Different Builds for Different Purposes
CI Build Nightly build Release build
(Continuous Integration) (schedule) (manual)

Compile/test Compile Compile


Regression Test
Provisioning Regression
Code Analysis Co nfig management
Archive
Optimizing the Build
Enable parallel build executionfor faster
results
Enable parallel test executionfor faster
results
Using multipliers to scalebuilds over
multiple agents
Make integration tests part of the release
process instead of the build
Publish to a NuGet feed at the end of a
build
Demo

Optimizing the build to run parallel


Configuration and Infrastructureas
Code
Out line Configuration as code
Transform configuration
Infrastructure as code
Artifact location
Configuration as Code
Configuration as Code

Important Continuous
Delivery concept
Keep configuration in
Source Control
The build outputs the
needed artifacts
Transform Configuration
Configuration and Secrets

Have admin define secrets


in variables
Use the build to replace
secrets
Use transform tasks
Infrastructure as Code
Important Infrastructure Artifacts

PowerShell Scripts PowerShell DSC ARM Templates


scripts

Bash scripts Puppet modules Chef recipes


Artifact Location
Artifacts and the Artifact Store
Azure DevOps has an artifact location buildin

You can copy yourartifacts to the artifactrepository

This is where you will pull them from when we are using
release pipelines ina later stage
Demo
Adding configuration and infrastructure
as code to your build
Pipeline
- Use the Pipeline YAML
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-
devops&tabs=schema%2Cparameter-schema

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy