mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-19 22:15:50 +00:00
Update azure-pipelines.yml for Azure Pipelines
This commit is contained in:
parent
2c4d3daf0b
commit
9d27619db6
1 changed files with 79 additions and 11 deletions
|
@ -1,16 +1,84 @@
|
|||
# Deploy to Azure Kubernetes Service
|
||||
# Build and push image to Azure Container Registry; Deploy to Azure Kubernetes Service
|
||||
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker
|
||||
|
||||
trigger:
|
||||
- master
|
||||
- releases/*
|
||||
|
||||
resources:
|
||||
- repo: self
|
||||
|
||||
# All tasks on Linux
|
||||
variables:
|
||||
|
||||
# Container registry service connection established during pipeline creation
|
||||
dockerRegistryServiceConnection: '{{ containerRegistryConnection.Id }}'
|
||||
imageRepository: '{{#toAlphaNumericString imageRepository 50}}{{/toAlphaNumericString}}'
|
||||
containerRegistry: '{{ containerRegistryConnection.Authorization.Parameters.loginServer }}'
|
||||
dockerfilePath: '**/Dockerfile'
|
||||
tag: '$(Build.BuildId)'
|
||||
|
||||
# Kubernetes Namespace
|
||||
k8sNamespace: '{{ k8sResource.Namespace }}'
|
||||
imagePullSecret: '{{#toAlphaNumericString containerRegistryConnection.Name 50}}{{/toAlphaNumericString}}{{#shortGuid}}{{/shortGuid}}-auth'
|
||||
|
||||
# Agent VM image name
|
||||
vmImageName: 'ubuntu-latest'
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
displayName: Build stage
|
||||
jobs:
|
||||
- job: Build
|
||||
displayName: Build
|
||||
pool:
|
||||
vmImage: $(vmImageName)
|
||||
steps:
|
||||
- task: Docker@2
|
||||
displayName: Build and push an image to container registry
|
||||
inputs:
|
||||
command: buildAndPush
|
||||
repository: $(imageRepository)
|
||||
dockerfile: $(dockerfilePath)
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
tags: |
|
||||
$(tag)
|
||||
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: 'manifests'
|
||||
targetPath: 'manifests'
|
||||
|
||||
- stage: Deploy
|
||||
displayName: Deploy stage
|
||||
dependsOn: Build
|
||||
jobs:
|
||||
- deployment: Deploy
|
||||
displayName: Deploy
|
||||
pool:
|
||||
vmImage: $(vmImageName)
|
||||
environment: '{{ k8sResource.EnvironmentReference.Name }}.{{ k8sResource.Name }}'
|
||||
strategy:
|
||||
runOnce:
|
||||
deploy:
|
||||
steps:
|
||||
- task: KubernetesManifest@0
|
||||
displayName: Create imagePullSecret
|
||||
inputs:
|
||||
action: createSecret
|
||||
secretName: $(imagePullSecret)
|
||||
namespace: $(k8sNamespace)
|
||||
dockerRegistryEndpoint: $(dockerRegistryServiceConnection)
|
||||
|
||||
- task: KubernetesManifest@0
|
||||
displayName: Deploy to Kubernetes cluster
|
||||
inputs:
|
||||
action: deploy
|
||||
namespace: $(k8sNamespace)
|
||||
manifests: |
|
||||
$(System.ArtifactsDirectory)/manifests/deployment.yml
|
||||
$(System.ArtifactsDirectory)/manifests/service.yml
|
||||
imagePullSecrets: |
|
||||
$(imagePullSecret)
|
||||
containers: |
|
||||
$(containerRegistry)/$(imageRepository):$(tag)
|
||||
|
||||
- job: build_all_linux
|
||||
displayName: Build all tasks (Linux)
|
||||
condition: and(succeeded(), not(variables.task), eq(variables.os, 'Linux'))
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- template: ci/build-all-steps.yml
|
||||
parameters:
|
||||
os: Linux
|
||||
|
|
Loading…
Reference in a new issue