Azure DevOps contd
Approvals in Azure DevOps
- Refer Here for official docs
- We have created an environment with name
deployment-docker
- Make the changes in the yaml to use deployment and specify environment in it
---
trigger:
- master
parameters:
- name: containerRegistry
displayName: Service Connection For Docker Image
default: 'mydockerhub'
- name: vmImage
displayName: Microsoft Hosted Agent Name
default: 'ubuntu-22.04'
values:
- windows-2022
- windows-2019
- ubuntu-22.04
- ubuntu-20.04
variables:
dockerfilelocation: '**/Dockerfile'
stages:
- stage: buildstage
displayName: Build the application
jobs:
- job: dockerbuild
displayName: docker image build
pool:
name: "Azure Pipelines"
vmImage: "${{ parameters.vmImage }}"
steps:
- task: Docker@2
inputs:
containerRegistry: "${{ parameters.containerRegistry }}"
repository: shaikkhajaibrahim/nopfromado
command: 'buildAndPush'
Dockerfile: "$(dockerfilelocation)"
tags: "$(Build.BuildId)"
- stage: deployStage
displayName: Deploy application
jobs:
- deployment: deployContainer
displayName: Run the nop commerce
pool: default
environment: 'deployment-docker'
strategy:
runOnce:
deploy:
steps:
- bash: "docker container rm -f $(docker container ls -a -q)"
displayName: Remove All running containers
- bash: "docker image rm -f $(docker image ls -q)"
displayName: Remove all images
- bash: "docker container run -d --name nop -P shaikkhajaibrahim/nopfromado:$(Build.BuildId)"
displayName: Run the application
-
Execute by pushing the code or manual trigger
-
Try creating an approval for multiple environments
-
Environment: allows us to add resources
- kubernetes
- virtual machines
Notifications
- We need to send an email or an update in Teams/Slack
- Refer Here for fake smtp server
- Create a smtp test server and make a note of credentials
- Figure out how to send email notifications from azure devops pipelines
- In built Notifications: Refer Here
- Service hooks Refer Here
- Custom Notifications from pipeline
Azure DevOps MarketPlace
- Azure DevOps Market place gives us external tasks developed by community and use them in your pipelines Refer Here