SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
▪
▪
▪
▪
▪
▪
▪
▪
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments:
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪ →
▪
▪
▪
▪
▪
Build Pipeline
Job
Job
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Task
Stage
Job
Task
Task
Task
Task
Task
Stage Stage
Stage Stage
Release Pipeline
Stage
Build Pipeline
Job
Task
Task
Job
Task
Task
Stage
Job
Task
Task
Job
Task
Task
YAML Build Pipeline
Job
Task
Task
Job
Task
Task
Multi-Stage Yaml Pipeline
Stage
Job
Task
Task
Job
Task
Task
Stage
Job
Task
Task
Stage
Job
Task
Task
Stage
Job
Task
Task
Job
Task
Task
Job
Task
Task
https://github.com/microsoft/azure-pipelines-vscode
name: VariableDemo
trigger: none
variables:
MySampleVar01: 'Hello'
MyName: 'World'
MyMessage: '$(MySampleVar01) $(MyName)'
MyMessageTwo: $[format('{0} {1}!!!!', '$(MySampleVar01)', '$(MyName)')]
stages:
- stage: stage01
jobs:
- job: job01
pool:
vmImage: 'Ubuntu-16.04'
steps:
- checkout: none
- bash: echo "$(MyMessage)"
displayName: Show the message variable
- bash: echo "$MYMESSAGE"
displayName: Show the message variable as env var
- bash: echo "$(MyMessageTwo)"
displayName: Show the message variable
- pwsh: |
Write-Host "Message: $(MyMessage)"
Write-Host "Message: $env:MYMESSAGE"
Write-Host "Build Number: $(Build.BuildNumber)"
Write-Host "Build Number: $env:BUILD_BUILDNUMBER"
displayName: Show the variables as PowerShell Core
- bash: |
MyJobSharedVar="my job shared var value"
echo "##vso[task.setvariable
variable=MyJobSharedVar;isOutput=true]$MyJobSharedVar"
name: myVarDefStep
displayName: Define a variable as output variable
- bash: |
echo "$(myVarDefStep.MyJobSharedVar)"
displayName: Show the variable as output variable from step
- bash: |
MyStageSharedVar="my stage shared var value"
mkdir -p $(Pipeline.Workspace)/variables
echo "$MyStageSharedVar" > $(Pipeline.Workspace)/variables/MyStageSharedVar
displayName: Create a variable to share accross stages
- publish: $(Pipeline.Workspace)/variables
artifact: variables
displayName: Publish the variables as artifact
- job: job02
dependsOn: job01
variables:
MyJobSharedVar: $[ dependencies.job01.outputs['myVarDefStep.MyJobSharedVar'] ]
pool:
vmImage: 'Ubuntu-16.04'
steps:
- bash: |
echo "$(MyJobSharedVar)"
displayName: Show the variable as pipeline variable
- bash: |
echo "$MyJobSharedVar2"
env:
MyJobSharedVar2: $(MyJobSharedVar)
displayName: Show the variable as explicitly defined environment variable
- stage: stage02
dependsOn: stage01
jobs:
- job: job03
pool:
vmImage: 'Ubuntu-16.04'
steps:
- checkout: none
- download: current
artifact: variables
displayName: Download the variables artifact
- bash: |
MyStageSharedVar=$(cat $(Pipeline.Workspace)/variables/MyStageSharedVar)
echo "##vso[task.setvariable variable=MyStageSharedVar]$MyStageSharedVar"
displayName: Read the variables artifact files and create pipeline variables
- bash: |
echo "$(MyStageSharedVar)"
displayName: Show the variable as pipeline variable
- bash: |
echo "$MYSTAGESHAREDVAR"
displayName: Show the variable as environment variable
▪
▪
▪
FROM microsoft/dotnet:2.1-aspnetcore-
runtime
WORKDIR /app
COPY output/app .
ENTRYPOINT ["dotnet", "HelloWorld.dll"]
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["HelloWorld/HelloWorld.csproj", "HelloWorld/"]
RUN dotnet restore "HelloWorld/HelloWorld.csproj"
COPY . .
WORKDIR "/src/HelloWorld"
RUN dotnet build "HelloWorld.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "HelloWorld.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "HelloWorld.dll"]
resources:
containers:
- container: my_container
image: ubuntu:16.04
- container: nginx
image: nginx
- container: redis
image: redis
pool:
vmImage: 'ubuntu-16.04'
container: my_container
services:
nginx: nginx
redis: redis
steps:
- script: |
apt install -y curl
curl nginx
apt install redis-tools
redis-cli -h redis ping
resources:
containers:
- container: nginx
image: nginx
ports:
- 8080:80
env:
NGINX_PORT: 80
- container: redis
image: redis
ports:
- 6379
pool:
vmImage: 'ubuntu-16.04'
services:
nginx: nginx
redis: redis
steps:
- script: |
curl localhost:8080
redis-cli -p "${AGENT_SERVICES_REDIS_PORTS_6379}" ping
resources:
containers:
- container: my_container
image: ubuntu:16.04
- container: pg11
image: postgres:11
- container: pg10
image: postgres:10
pool:
vmImage: 'ubuntu-16.04'
strategy:
matrix:
postgres11:
postgresService: pg11
postgres10:
postgresService: pg10
container: my_container
services:
postgres: $[ variables['postgresService'] ]
steps:
- script: |
apt install -y postgresql-client
psql --host=postgres --username=postgres --command="SELECT 1;"
BASTA 2019 - YAML Pipelines
BASTA 2019 - YAML Pipelines

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (8)

Umleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB appUmleitung: a tiny mochiweb/CouchDB app
Umleitung: a tiny mochiweb/CouchDB app
 
Introducing AngularJS
Introducing AngularJSIntroducing AngularJS
Introducing AngularJS
 
Continuous Integration with Scratchbox And CruiseControl
Continuous Integration with Scratchbox And CruiseControlContinuous Integration with Scratchbox And CruiseControl
Continuous Integration with Scratchbox And CruiseControl
 
Iterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory managementIterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory management
 
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
 
Webinar: Building Your First App in Node.js
Webinar: Building Your First App in Node.jsWebinar: Building Your First App in Node.js
Webinar: Building Your First App in Node.js
 
Web development - technologies and tools
Web development - technologies and toolsWeb development - technologies and tools
Web development - technologies and tools
 
Modern Perl Web Development with Dancer
Modern Perl Web Development with DancerModern Perl Web Development with Dancer
Modern Perl Web Development with Dancer
 

Ähnlich wie BASTA 2019 - YAML Pipelines

glance replicator
glance replicatorglance replicator
glance replicator
irix_jp
 
前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo
Michael Zhang
 
An Express Guide ~ Zabbix for IT Monitoring
An Express Guide ~ Zabbix for IT Monitoring An Express Guide ~ Zabbix for IT Monitoring
An Express Guide ~ Zabbix for IT Monitoring
Abhishek Kumar
 
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
olberger
 
ChefConf 2012 Spiceweasel
ChefConf 2012 SpiceweaselChefConf 2012 Spiceweasel
ChefConf 2012 Spiceweasel
Matt Ray
 
What\'s new in Rails 2.1
What\'s new in Rails 2.1What\'s new in Rails 2.1
What\'s new in Rails 2.1
Keith Pitty
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
tomcopeland
 
How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journey
Jakub Wadolowski
 

Ähnlich wie BASTA 2019 - YAML Pipelines (20)

Global Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deploymentsGlobal Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deployments
 
glance replicator
glance replicatorglance replicator
glance replicator
 
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request DeploymentsDWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
 
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTSBASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
 
.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments
 
前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo前瞻性Web性能优化pwpo
前瞻性Web性能优化pwpo
 
ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )
ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )
ROS 시작하기(Getting Started with ROS:: Your First Steps in Robot Programming )
 
Kafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptxKafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptx
 
An Express Guide ~ Zabbix for IT Monitoring
An Express Guide ~ Zabbix for IT Monitoring An Express Guide ~ Zabbix for IT Monitoring
An Express Guide ~ Zabbix for IT Monitoring
 
Bosh Links Visualization
Bosh Links VisualizationBosh Links Visualization
Bosh Links Visualization
 
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
 
Workload Replay in the Cloud: Secret Weapon for Cloud Migrations
Workload Replay in the Cloud: Secret Weapon for Cloud MigrationsWorkload Replay in the Cloud: Secret Weapon for Cloud Migrations
Workload Replay in the Cloud: Secret Weapon for Cloud Migrations
 
Ruby Kaigi 2008 LT
Ruby Kaigi 2008 LTRuby Kaigi 2008 LT
Ruby Kaigi 2008 LT
 
ChefConf 2012 Spiceweasel
ChefConf 2012 SpiceweaselChefConf 2012 Spiceweasel
ChefConf 2012 Spiceweasel
 
What\'s new in Rails 2.1
What\'s new in Rails 2.1What\'s new in Rails 2.1
What\'s new in Rails 2.1
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
 
How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journey
 
Neo4j: Import and Data Modelling
Neo4j: Import and Data ModellingNeo4j: Import and Data Modelling
Neo4j: Import and Data Modelling
 
Git使用
Git使用Git使用
Git使用
 
Flownative Beach - Neos Meetup Hamburg 2022
Flownative Beach - Neos Meetup Hamburg 2022Flownative Beach - Neos Meetup Hamburg 2022
Flownative Beach - Neos Meetup Hamburg 2022
 

Mehr von Marc Müller

Mehr von Marc Müller (20)

.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
 
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
 
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-BenutzerDWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
 
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESSBASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
 
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für KubernetesBASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
 
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 
DWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubDWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHub
 
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-ProzessDWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für Kubernetes
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Azure Pipelines Multistage YAML - Top 10 Features
Azure Pipelines Multistage YAML - Top 10 FeaturesAzure Pipelines Multistage YAML - Top 10 Features
Azure Pipelines Multistage YAML - Top 10 Features
 
Azure DevOps Multistage YAML Pipelines – Top 10 Features
Azure DevOps Multistage YAML Pipelines – Top 10 FeaturesAzure DevOps Multistage YAML Pipelines – Top 10 Features
Azure DevOps Multistage YAML Pipelines – Top 10 Features
 
BASTA 2019 - Docker + Azure DevOps + Kubernetes = ♥
BASTA 2019 - Docker + Azure DevOps + Kubernetes = ♥BASTA 2019 - Docker + Azure DevOps + Kubernetes = ♥
BASTA 2019 - Docker + Azure DevOps + Kubernetes = ♥
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

BASTA 2019 - YAML Pipelines

  • 1.
  • 2.
  • 3.
  • 5. invoice: 34843 date : 2001-01-23 bill-to: &id001 given : Chris family : Dumars address: lines: | 458 Walkman Dr. Suite #292 city : Royal Oak state : MI postal : 48046 ship-to: *id001 product: - sku : BL394D quantity : 4 description : Basketball price : 450.00 - sku : BL4438H quantity : 1 description : Super Hoop price : 2392.00 tax : 251.42 total: 4443.52 comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. name: VariableDemo trigger: none variables: MySampleVar01: 'Hello' MyName: 'World' MyMessage: '$(MySampleVar01) $(MyName)' MyMessageTwo: $[format('{0} {1}!!!!', '$(MySampleVar01)', '$(MyName)')] stages: - stage: stage01 jobs: - job: job01 pool: vmImage: 'Ubuntu-16.04' steps: - checkout: none - bash: echo "$(MyMessage)" displayName: Show the message variable - bash: echo "$MYMESSAGE" displayName: Show the message variable as env var - bash: echo "$(MyMessageTwo)" displayName: Show the message variable - pwsh: | Write-Host "Message: $(MyMessage)" Write-Host "Message: $env:MYMESSAGE" Write-Host "Build Number: $(Build.BuildNumber)" Write-Host "Build Number: $env:BUILD_BUILDNUMBER" displayName: Show the variables as PowerShell Core - bash: | MyJobSharedVar="my job shared var value" echo "##vso[task.setvariable variable=MyJobSharedVar;isOutput=true]$MyJobSharedVar" name: myVarDefStep displayName: Define a variable as output variable - bash: | echo "$(myVarDefStep.MyJobSharedVar)" displayName: Show the variable as output variable from step - bash: | MyStageSharedVar="my stage shared var value" mkdir -p $(Pipeline.Workspace)/variables echo "$MyStageSharedVar" > $(Pipeline.Workspace)/variables/MyStageSharedVar displayName: Create a variable to share accross stages - publish: $(Pipeline.Workspace)/variables artifact: variables displayName: Publish the variables as artifact - job: job02 dependsOn: job01 variables: MyJobSharedVar: $[ dependencies.job01.outputs['myVarDefStep.MyJobSharedVar'] ] pool: vmImage: 'Ubuntu-16.04' steps: - bash: | echo "$(MyJobSharedVar)" displayName: Show the variable as pipeline variable - bash: | echo "$MyJobSharedVar2" env: MyJobSharedVar2: $(MyJobSharedVar) displayName: Show the variable as explicitly defined environment variable - stage: stage02 dependsOn: stage01 jobs: - job: job03 pool: vmImage: 'Ubuntu-16.04' steps: - checkout: none - download: current artifact: variables displayName: Download the variables artifact - bash: | MyStageSharedVar=$(cat $(Pipeline.Workspace)/variables/MyStageSharedVar) echo "##vso[task.setvariable variable=MyStageSharedVar]$MyStageSharedVar" displayName: Read the variables artifact files and create pipeline variables - bash: | echo "$(MyStageSharedVar)" displayName: Show the variable as pipeline variable - bash: | echo "$MYSTAGESHAREDVAR" displayName: Show the variable as environment variable
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 44.
  • 45. FROM microsoft/dotnet:2.1-aspnetcore- runtime WORKDIR /app COPY output/app . ENTRYPOINT ["dotnet", "HelloWorld.dll"] FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY ["HelloWorld/HelloWorld.csproj", "HelloWorld/"] RUN dotnet restore "HelloWorld/HelloWorld.csproj" COPY . . WORKDIR "/src/HelloWorld" RUN dotnet build "HelloWorld.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "HelloWorld.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "HelloWorld.dll"]
  • 46. resources: containers: - container: my_container image: ubuntu:16.04 - container: nginx image: nginx - container: redis image: redis pool: vmImage: 'ubuntu-16.04' container: my_container services: nginx: nginx redis: redis steps: - script: | apt install -y curl curl nginx apt install redis-tools redis-cli -h redis ping resources: containers: - container: nginx image: nginx ports: - 8080:80 env: NGINX_PORT: 80 - container: redis image: redis ports: - 6379 pool: vmImage: 'ubuntu-16.04' services: nginx: nginx redis: redis steps: - script: | curl localhost:8080 redis-cli -p "${AGENT_SERVICES_REDIS_PORTS_6379}" ping
  • 47. resources: containers: - container: my_container image: ubuntu:16.04 - container: pg11 image: postgres:11 - container: pg10 image: postgres:10 pool: vmImage: 'ubuntu-16.04' strategy: matrix: postgres11: postgresService: pg11 postgres10: postgresService: pg10 container: my_container services: postgres: $[ variables['postgresService'] ] steps: - script: | apt install -y postgresql-client psql --host=postgres --username=postgres --command="SELECT 1;"