4 Azure Devops Pipeline Part 2
4 Azure Devops Pipeline Part 2
Pipelines Infrastructure
UNDERSTANDING AZURE PIPELINES
AGENTS
Overview Understanding Azure Pipelines Agents
Microsoft Hosted vs Self-Hosted Agents
Implementing Self-Hosted Agents
Leveraging Docker in Azure Pipelines
Overview Understanding Pipeline Jobs
Running Pipeline Jobs
Developing Azure Pipeline Jobs Exploring Azure
Pipeline Jobs Integrating Third-Party Platforms
Understanding Pipeline Jobs
What are Pipeline Jobs?
https://docs.microsoft.com/en-
us/azure/devops/pipelines/process/phases
Sample Job
steps:
‘steps:’ consist of multiple discrete
- bash: echo "Hello world" actions, like processing a Bash
script on the agent which is running
the job
Running Pipeline Jobs
Agent Pool Jobs
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases#agent-
pool-jobs
Server Jobs
https://docs.microsoft.com/en-
us/azure/devops/pipelines/process/phases#server-jobs
Using Agent Demands
https://docs.microsoft.com/en-
us/azure/devops/pipelines/process/demands
pool:
Specify the name of the private pool
name: privatePool
demands: Specify multiple demands (if the task
does not automatically assert
-agent.os -equals Linux demands)
-python3 -equals
Create a job which utilizes the
/usr/bin/python3 steps: asserted demands
- task: PythonScript@0
inputs:
scriptSource: inline
script: print("Hello, World!")
Container Jobs
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/container-
phases
Developing Azure Pipeline Jobs
Using the Classic UI
Build/Release Pipelines
Manual job
addition Useful for
learning Underlying
YAML exposed
Using YAML Pipelines
https://marketplace.visualstudio.com/azuredev
ops
# Deploy to Chef environments by
editing environment attributes
- task: Chef@1
Uses the standard task
inputs: syntax
connectedServiceName: ''
Name of the connected
environment: 'dev' service endpoint
Task inputs which are only
attributes: 'something' meaningful to the remote service
chefWaitTime: '30'
Summa Understanding Pipeline
Jobs
ry Running Pipeline Jobs
Developing Azure Pipeline
Jobs Exploring Azure
Pipeline Jobs Integrating
Third-party Platforms
Coming next:
Microsoft Hosted vs. Self-
hosted Agents
Continuous Delivery and DevOps with
Azure DevOps: Pipelines
Release management in the context of
Out line continuous delivery
Steps of a release
Release management concepts
Release management infrastructure
Custom Variables
$(variablename)
Build In Variables
Secrets
Environment Variable
Continuous Deployment Trigger
Jenkins
Azure DevOps Artifact Management
Container Registry
Docker Hub
Release Management Infrastructure
Agents and Pipelines
Steps of a release
Release management concepts
Release management infrastructure
Provision on demand
From environments to quality gates
Improves traceability of changes
Improves repeatability
Improves cost efficiency
Configuration and Secrets
We de-provision resources
We wait on approval
Demo
Deploy to the provisioned appservice
and test the product using UI tests
Using Containers
Container Workflow
Build pipeline
Release pipeline
Combined pipeline experience
Improved traceability
Environments
Demo
Integrated Yaml pipelines and
environments
Summary Infrastructure as code
Provisioning on demand
Using Containers
Release Definition
Release Stages
Agents & Queues
Logs & Audit Trails
Demo
Release runs
Every step in a release is
logged Every approval is
logged Changes to release
definition
http://whatis.techtarget.com/definition/four-eyes-principle
Demo
https://docs.microsoft.com/en-
us/azure/devops/pipelines/languages/docker
Understanding Container Jobs
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/container-
phases
Understanding the Docker Agent
https://docs.microsoft.com/en-
us/azure/devops/pipelines/agents/docker
Use Docker with Azure Pipelines
Demo
Implement a Self-hosted Docker agent
Verify agent functionality
Demo
Create a container-based solution
Deploy and verify solution
Summary Understanding Docker with Azure Pipelines
How to use Docker within Azure Pipelines
Implement Self-hosted Docker agent
Deploy a container-based solution
Overview Understanding Azure Pipelines Agents
Microsoft Hosted vs. Self-hosted Agents
Implementing Self-hosted Agents Leveraging
Docker in Azure Pipelines