Это видео недоступно.
Сожалеем об этом.
YAML RELEASES In AZURE DEVOPS PIPELINE | Configure Build and Release YAML file
HTML-код
- Опубликовано: 13 янв 2021
- Hello friends, Earlier last year Azure Pipelines YAML Continuous Deployment features were announced. This allows configuring Release Pipelines as part of the YAML file, which was earlier limited to only the build pipeline.
Prior to this, Release Pipelines could be configured only using the Visual User Interface editor. This is now referred to as Classic Releases. With YAML Releases the pipeline is defined as part of the yml file that lives with the source code repository. This allows versioning of the build and deploy pipeline as well and it grows along with the application.
In this video, we will learn about YAML Releases, their high-level structure and learn how to create one to build and deploy a web application to Azure
🔗Repository - rahulpnath.visualstudio.com/Y...
🔗YAML Release Pipeline - rahulpnath.visualstudio.com/Y...
🔗Classic Release Pipeline - rahulpnath.visualstudio.com/Y...
🔗YAML Releases - devblogs.microsoft.com/devops...
Additional Watching:
📹ASP NET SPA Template DevOps - • ASP NET CORE SINGLE PA...
📹ARM Template and DevOps - • Using ARM TEMPLATES In...
📹Getting Started With Azure DevOps - • Introduction To AZURE ...
📹Azure DevOps Playlist - • Azure DevOps
Come say hi! ✋
🌍 Blog - rahulpnath.com/
✉ Subscribe to my Newsletter - www.rahulpnath.com/subscribe
🐦Twitter - / rahulpnath
📸Instagram - / rahulpnath
🎥 Recording Setup and Workflow - www.rahulpnath.com/blog/youtu...
Video Edited by my wife, Parvathy 😍
Make sure to SUBSCRIBE to the channel. THANK YOU for helping me grow this channel !!
#azure #azuredevops
This is exactly what I need when trying to setup YAML based build + release pipeline in my new engagement. Great work and keep doing this!
Glad it helped Vincent!
Having seen so many tutorials. Your way of training is refreshing to watch. thank you!. Keep at it!
That's a great feedback Taher. Thank you and glad you like it. Do check out the other videos in the series and hope you like them too.
Thank you so much. With classic releases, it was very difficult for me to import/export release pipelines. Now incorporating both build and release in the same YAML makes it portable. Can't wait to try this out!!
Absolutely yes Nishanth. This makes managing releases easy too. Let me know how it goes once you try it.
@@RahulNath Hi, I just deployed my app service by using this multi stage deployment. I never really knew Azure had this feature. Thank you so much for this amazing tutorial. I also wanted to do a release in a deployment group. However, this isn't supported by deployment groups yet. Hopefully there should a YAML support soon for deployment groups.
@@nishanthraj8261 Yes it's a great feature Nishanth. I've been like it too. Yeah, hopefully, it gets full features support soon.
The video is very helpful. Thanks
Glad it was helpful!
Bro this is next level. No less, no more, just precise and to the point. I am your fan now! SUBSCRIBED.
Thanks and welcome Sandeep!
You are the GURU.
Thanks
Malik Adeel Imtiaz
Thank you Malik ! Happy New Year 🙂
Great video.
Thank you!
Great tutorial - thanks very much Rahul.
Glad it was helpful!
Thanks Rahul. Great video.
Glad you liked it Mark!
Excellent
Thank you so much 😀
This is exactly what I'm looking for. Thanks.
glad it helped!
Really loved your video!! very simple and clean teaching, with all reasoning references to azure documentation!!.. I wish I found/saw your video first (to save time) .. Loved your work Rahul .. thumbs up!!.. I had been searching ways to edit the releases (i.e. CD) as a yml(instead of visual studio edit), but nowhere I could find a reference.. mentioning the job as deployment was the key!! Thanks to you!! Please tag your video with #Azure and #AzureDevOps for more reachability (and save many others)
Wow, thank you Riyas! Very happy it helped and thank you for taking time to leave a wonderful comment. The full DevOps series is here bit.ly/azure-devops-series
Liked your videos, Helped me develop release pipeline in my project.
Great to hear and thank you Dhaval!
Thanks, It's helpful 👍
Glad it was helpful Sachin!!
Nice explanation. Thank you very much for the video
Glad you liked it. Thank you 😀
Great, Thanks
Welcome Vipin😊
Great course. very useful. Thank you Rahul.
Glad you liked it Morteza. Happy New Year!
great content.Hope you continue this
Thank you Pavan. Sure will, let know if you have any particular areas you are looking to be covered.
Great Azure Pipeline videos! Thanks
Glad you like them! Thank you 😀
Awesome!! perfectly explained . Thank you Bro!
Glad it was helpful! Thank you Anand!
Thanks for this video. It helps me alot. Could you please share build pipeline video. I verified in your blog but not found the build pipeline video
The full DevOps series is here bit.ly/azure-devops-series Not sure which specific pipeline you are after.
Thank you so much for your videos bro! They really helped me get good hands on experience in Azure. Keep up great work!
Glad you like and find them useful. Do let know if you have specific topic suggestions 😀
Excellent video Rahul.
I was wondering how one could reuse artifacts and whether this is a good practice.
Let's say the code hasn't changed, just the ARM template. Instead of going through all the stages again, I'd like to skip the build stage and only run the deploy stage, using a previous build artifact.
Thank you Pieter. If you are running manually and want to skip a stage you can use docs.microsoft.com/en-us/azure/devops/release-notes/2019/sprint-162-update?WT.mc_id=AZ-MVP-5003875#skipping-stages-in-a-yaml-pipeline
You can also add conditions on stage and skip if needed docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&WT.mc_id=AZ-MVP-5003875&tabs=yaml#conditions
However what are you really achieving by not running the build step? Preferably I would stay away from doing it, unless there is a strong reason.
Cool! Idea for enhancement: instead of embedding build as a stage, use external build artifact via Resources. Or even join several artifacts from several build pipelines.
Great Idea Igor. Yes I wanted to do a follow up video on using templates and refactoring this a bit, but never got to it. Do you have an online sample example where you have set this up for reference?
@@RahulNath no, I'm not a blogger ))
@@igoryastrebov4471 Haha no worries 😀
Very Helpfull
Glad it helped Govind!
please let me know how we can turn off automated deployment of application PODs in the cluster by Azure DevOps pipeline triggered whenever new source code is pushed into the target branches and what shall be the configurational changes required in the Azure DevOps pipeline.yml file to achieve this objective.
Hi Rahul, Hats off for the way you have explained whole concept in crisp and clear way. I have a doubt related to variables, how can we pass variables from Build Stage to Deploy Stage.
Thanks in advance. Appreciate your efforts. Cheers :)
Thank you Aakash. Glad you like it. What kind of variables are you trying to pass? This link does mention some methods medium.com/microsoftazure/how-to-pass-variables-in-azure-pipelines-yaml-tasks-5c81c5d31763
Had you come across it?
Nice Explanation...Rahul...
Glad it helped.!
Perfect Explanation...Can you please do a video using ADF pipeline deployment using YAML... Please.. :)...!!!
Great suggestion! But unfortunately I haven't done much on ADF so that will not happen any time soon ☹
I want to learn whole devops hands on. I like your videos
Thank you Manikumar. Would you be interested if I do a 1-2 hour Azure DevOps beginner workshop?
@@RahulNath hi.Rahul..I'm interested..can u let me know ..
@@saikrishnaa3475 Sure will
@@RahulNath - Can you do hands on videos for azure devops on complete build and release pipliens, artifacts, envuronmnet variables. please.
@@shravyas3325 Hey Shravya, Thank you for the suggestion. Did you get a chance to look at my DevOps Series ruclips.net/p/PL59L9XrzUa-m7AFDgjWuwm6exyCklc03U
What application are you trying to deploy? In most of the video scenario I start from setting up an application right to deploying it to Azure resource.
Is that what you are looking for or something different? Happy to do a new video if you give me some more details. Or if I were to do a hands-on virtual workshop would you be interested to join?
Great job! thanks
Glad you liked it, Thank you!
Great explanation - very clear :-)
Glad it was helpful!
Hi Rahul, thank you for the video. I helped me have a better understanding of the deploy steps. I have a question: I have 2 Test servers and I need away to deploy to 1 or both of them at any time after the build is done. I also have multiple Prod servers and need to be able to deploy to any of them, or just some, or all or them. It's very easy with the classic pipeline. Is it possible to do the same with the YAML pipeline? If so, how? Thanks.
NICE, Thank you!
Thank you Mahesh 😀
outstanding Rahul (y)
Thank you!!
I awaiting to yaml release pipeline in az devops, I was expecting yaml will create under release section but we need to create them in build pipeline. Any way it was very awesome and content that you shared here. I would really appreciate your efforts. just let me know can I use yaml release in production environment ?
Yes you should be able to use this in production, don't see why not. I have used it in couple of my projects. Do let know in case you run into issues.
Hi Rahul, i came across an issue while using the yaml based pipeline. In classic pipeline you could deploy to any stage at a future point of time . for e.g. i deploy to uat today and once it is successful, i can deploy the same release to prod by clicking on deploy button against prod. However in yaml based pipeline, i can select which stages to run, so if i select only till uat and do not select prod, the prod stage will be skipped. Once UAT is finalized, i cannot run prod stage unless i run the whole pipeline from begining build-dev>test->uat->prod. Do you have any solution for this.
Like ur videos very much, it have a class
Glad to hear that Akhil 😀
Rahul, can we include group users, if so how we can do that.? Then another question , can we provide guest users as approvers , if so how?
For an approver, you can provide a group, only one person from group needs to approve docs.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass#approvals
Not sure of guest users, I would think no. You will need to try that out.
Super
Thanks Pradeep!
Hi Rahul, i am looking for azure subscription id is correctly picking or not from input file how can i implement if else condition in YAML file? do you have any similar code and can you share?
Does this help? docs.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops&WT.mc_id=AZ-MVP-5003875#conditionally-assign-a-variable
Hi Rahul, great video!
Is there a way we can manually add trigger the stages? Because something between Test and Prod you'll need some days in between.
With the approval step in place doesn’t it allow that ? I talk about It towards the end where I set up a prod environment in the video
@@RahulNath it works, though imagine you doing a build to QA that just stays waiting for approval for UAT and Production then we need to cancel it. In the last build you have QA in the 3rd of August, UAT in 18th of August and Production in the 25th...almost like a 20 day pipeline running. Do you understand what I mean?
Hi @Rahul,
I have deployed my application on aks using yaml file , its successfully deployed but there is one question arises in my mind how we can deploy old pkg using yml, i can see everytime will have to run the build pipeline and then it will trigger dev and qa stages.
Please if possible explain those part as well
Hey Raj, This is where you can use releases to deploy an old release. Again depending on your use case the configuration values might need to be updated for an older release if they are no longer relevant. Is this what you were after? Do let me know if you have additional questions.
Thanks for great video.I have a question.If we have two functions in our solution, and we want to create a pipeline for them. What should we do? Creating two separate pipelines for each of them, or just one pipeline for both?
Thank you and glad you like it! How do you want it to be deployed - Are these always updated as a unit or can updates be independent? This would decide if you want single pipeline or multiple. Does that make sense? Let know if you have additional questions.
Hi Rahul, is it possible to trigger a stage is release GUI pipeline based on the result of previous stage. If Stage1 is successful trigger Stage2 automatically & if Stage1 is partially succeeded ask for approvals to trigger Stage2.
Rahul, do you recommend separating the release pipeline from the build pipeline? Particularly in a complex product with many decoupled components and allied repos?
Majority of the projects I've worked on I've mostly preferred a separate pipeline. That does help to keep track of things easier.
@@RahulNath thanks a lot for teaching us all these complex stuff and then finding time to respond to our questions … the tech community is richer bcoz of people like yourself🙏🏾
@@sonjoysengupto Thank you, Sanjay for your kind words!
Hi Rahul, since you have already run the Deploy to Dev stage once, what will happen to the app service and Dev resource group when you run it for the second time @ ****24:25**** ?
I used Incremental deployment mode, so it leaves unchanged resources. You can read about the different modes here docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-modes?WT.mc_id=AZ-MVP-5003875. Let me know if you have additional questions.
@@RahulNath Thanks Rahul. I thought it had something to do with the "runOnce" deployment strategy.
@@nishanthraj8261 Thats more a overall deployment strategy - docs.microsoft.com/en-us/azure/devops/pipelines/process/deployment-jobs
Hi the ansible playbook structure/spacing or what its called as indentation is this structure common on all playbooks that is written or does it change. Its bit confusing where and when to use spaces & hyphens in a playbook. I am not from a coding or developer background hence it becomes more confusing is there a editor to automatically take the spacing & hyphens when writing the playbook. Can you make a video on how to structure the playbook step by step.Kindly reply
Indeed it can be confusing and hard some times. There is a VS Code plugin for DevOps YAML marketplace.visualstudio.com/items?itemName=ms-azure-devops.azure-pipelines. You could check that out.
Hello Sir thanks for the video.
I have one doubt like i want to run a Pipeline based on when Merging with Master, QA Stage needs to run , not any other environement. how can i achive this..?? what condition or Branching or Triggers need to used?
Think I show some branch policies and trigger in this video if that helps ruclips.net/video/dGCid5W-HK0/видео.html
Let me know if that helps or if you have additional questions
@@RahulNath thanks for the Quick Reply.
I am facing one problm like when i am working on my feature branch the TAG ver is 1.0.1, but when merging with Develop the tag value is changing to 272.1.0, but i want the TAG value for my DATA,SERVICE,SDK is 1.0.1
where might be the problem ? why its getting changed to 272.1.0
This is really helpful. How can we deploy old build to specific stage using yaml pipeline?
Hi Rahul
Thanks for such a nice video tutorial. Currently I am trying to add my release in YAML. but this yaml file not recognize Stages as command . could you please help me on this
Replied on other comment
Hi Rahul,
This video is really helpful,
Could you please help me how to pass variables in Dev Env and test environment in above video yaml file, similar like azure devops variables based on Env
Thank you Raj and happy it helped. Is it variable groups you are looking for ruclips.net/video/F93dKycIqEM/видео.html
Or did I misunderstand the queston?
@@RahulNath thank you
Rahul, nice video.
Could we have mentioned that the code duplication for releasing into multiple environments could have been avoided by using templates ?
Yes very good point - I wanted to create a follow-up video on templates, but never got to it! Hope you were able to sort it out?
Did you make any video on automating (CICD) API changes to azure APIManagement?
Nothing on API Management yet
Great video. Thank you!
One question: You mentioned environments which I believe is akin to how we deploy to DEV, TEST and PROD environments on prem.
What is this thing called Deployment Slots? Can that be used to deploy to different environments?
Deployment Slots are more for the same environment buy you can install to before swapping them over with the live instance. This answer explains a bit more to it stackoverflow.com/questions/59578368/when-to-use-deployment-slots-vs-separate-app-services-when-deploying-different-v
Let me know if that answers your question.
Hi Rahul.. Any full time course for azure devops conducted by you?
Unfortunately not at the moment - The full DevOps playlist is here bit.ly/azure-devops-series
@@RahulNath Great effort indeed for making such videos . Thank you so much!!!
@@balajikandasamy3450 Thank you!
I want to substitute the key "DevConnectionString" before deployment to serve from Release pipeline.
I have checked "XML variable substitution" from "IIS web app deploy" task
And also created a release variable "DevConnectionString"
But after deployment "DevConnectionString" value not getting updated with new value value.
I valve checked log. Its showing Skipped Updating file web.config
Initiated variable substitution in config file : ...\obj\Release\Package\PackageTmp\Web.config Processing substitution for xml node : appSettings Processing substitution for xml node : connectionStrings Processing substitution for xml node : configSections Skipped Updating file: ...\obj\Release\Package\PackageTmp\Web.config
Why web.config not getting updated with new value? Where I am doing mistake?
hard to tell what the problem is. looks like it's not finding a match for the variable. Hope you have ticked the XML transformation checkbox.
Hi rahul, can you make a video for checking out to another repo(either it belongs to same project or different project or different org or different repository(github), in the same pipeline.
Hope you resolve this issue Akshay.
thanks great video. I would like to know NET5 Api Project deploy to Devops + Azure with CI. do you have any recommendation?
Thank you Menaka. If setting up new I would stick with YAML releases. I assume pretty much of what is covered in this video will be same for .NET 5 as well. Are you facing any issues with it?
How to install databricks cluster libraries in specific cluster througj yaml
I am not sure how. Haven't done this before. Hope you find out the solution!
What does the Releases blade give you when utilizing this approach?
not much - check this SO for more info if that helps stackoverflow.com/questions/61337508/should-i-use-releases-or-yaml-pipelines-for-app-deployment
Hi Rahul,
Thanks for the video.
I want to schedule the stages in yaml(Yaml Editor) what approach i should put.
Had you come across this link docs.microsoft.com/en-us/azure/devops/pipelines/process/scheduled-triggers?view=azure-devops&WT.mc_id=AZ-MVP-5003875&tabs=yaml
Let me know in case that helps.
Good work again 👍... I've already got a build pipeline that I am happy with but I was hoping to write my release pipeline as a yaml release as I need to add a couple of conditions with regard to picking up artefacts... I can't see how to do this as the only option when creating a new release is the visual editor - is this possible to just do the release in yaml?
Glad you like it - Is this something you are looking for? stackoverflow.com/questions/59969837/select-artifact-for-deployment-pipeline-yaml
Hi Rahul,do you have any video on sending bulk of message to service bus topic from logic app using yaml script?is so can you please share here.
Sorry I don't have any at the moment, Mitra.
Hey, I am new to the release pipeline. In the case that I have working software in a source version like Git, do I need to run a build pipeline before I can run the release pipeline? Or does Azure release pipeline have a way for you to specify the repo and it runs everything for you.
You would need to build the solution to generate the artifact that needs to be deployed. If you go through this video I set up both in this. Let me know if that helps?
Sir please create a video to edit the existing task in build pipeline (yaml based) and how to update the variables in the task
Thank you for the suggestion Yerra. Can you provide some more context and details?
Like updating the build task to update the variables in build task,publish to artifact task etc
@@yerrasanthosh764 Isn't it an update to the YAML file and pushing up the repository? Sorry am I missing something?
@@RahulNath may be I am really sorry to not understand the question . If possible could you create a vidoe on build variable and global variable to invoke in pipeline yaml file
Why we are using replace token ? could you plz help us
It's to use different variables based on the environment you are deploying to. Does that answer your question?
@@RahulNath thank you for response I mean in the yamal script mentioned Replace token which in market place i'am confusion what is the concept of Replace token how it's work
@@raghunekkanti5248 Guessing this link details out what it's doing marketplace.visualstudio.com/items?itemName=qetza.replacetokens
Does that help? If not please clarify the question a bit more 👍
Hi Rahul, please let me know if you teach Azure Devops and terraform I Want to learn from you.
Hey Tushar - All my content on DevOps are here bit.ly/azure-devops-series
I don't have any other courses at the moment. But more than happy to help if you have specific questions.
thanks a lot for vedio , i want to learn how to create YAML pipeline. please help me .
Any further questions after this video. How can I help you?
@@RahulNath yes sir, I was working as an aws engineer and recently i joined a company, here i have to work on an azure DevOps project via using YAML, and its not the basic project and I am feeling too much tough to understand it. please guide me
@@pankajdubey6640 Happy to help if you have specific questions. 😀
hello Rahul, instead of using Replace token task can we simply use override template parameters to substitute the values of the parameter file? thanks
How would you override the template parameters otherwise? Sorry I don't understand.
For web apps etc it automatically replaces appsetting and config files. But that does not work for stand alone files like these, hence I have used the Replace Token task
@@RahulNath there is a box with override template marked over it. Thought of using it ..
@@sid0000009 I think if you use that you need to explicitly pass in the parameters that need to be overridden? Something like this -appBaseName "$(arm_appBaseName)"
that should work as well I guess.
@@RahulNath : When we create a variable group there is an option to give access to all the pipelines. If we have a YAML pipeline - how do we secure access to only 1 pipeline. In Classic Release Pipeline we have option to link with the variable group. How can we achieve that i a YAML pipeline. Thank you
This is very nice, I learned a lot from this video, I am stuck on a point, for some reason I am getting error in AzureResourceManagerTemplateDeployment getting error ##[error]undefined: The name #arm_appServicePlan# is not valid, any idea ?
Glad it was helpful. Not sure why that error. Were you able to resolve it Harish?
Were you able to resolve this? I would suggest looking at Web Jobs and using Cron triggers for this. You could also do the same with Background Jobs. Libraries like Quartz.net might help
Hi Rahul, I have one question I have 2 pipeline if I want to use few stages from 1 pipeline to another how I can achieve this..? I want to utilize the few stages from 1 pipeline because it has similar code which I needed in 2 pipeline. Any help or suggestion please..?
Templates should be of help there Gaurav. have you checked that out? docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&WT.mc_id=AZ-MVP-5003875
@@RahulNath Sure Rahul thanks for response as always.
@@gauravjoshi5054 You are welcome as always Gaurav! 😀
Could you please add source code link for this video
All relevant links are in description (just double checked 😀). Let me know if that helps
Hello rahul.. can we not parameterize the code instead of replicating the code twice for dev and test . .? Thanks
Yes, you are correct Chaisen. I didn't want to introduce too many things in this video, hence kept is simple and repeated. I will be doing a follow-up video covering that part. Thanks again for pointing it out.
@@RahulNath Hi Rahul, is this follow-up video coming out anytime soon ? Or any other doc/link available showing how to parameterize the code. My use case is build once deploy many where build should only run once and deploy in multiple environments using same build, so was thinking to parameterize the code. Your inputs ?
@@pistaarora8208 The follow up video will take some time, nothing scheduled for immediately.
Does this link help you get started? docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#insert-a-template
i required build pipeline by using yaml
Great - did this video help? Or are you looking for something else
do we have complete devops URL, want to understand Azure devops E2E
Hey Sunil, Are you looking for the entire playlist? Here it is ruclips.net/p/PL59L9XrzUa-m7AFDgjWuwm6exyCklc03U
Let me know if that helps or it is something else you are looking for.
@@RahulNath Hello , Want to setup E2E pipeline for Azure Synapse Studio using YAML+ Git, there are various component in Studio example Integration Pipeline (similar to ADF, Databricks , Dedicated SQL Pool and Serverless Pool), Please suggest how to start to setup a pipeline for all the components.
@@sunilgidwani6321 Hey Sunil, Most of that is completely new to me and I haven't don't much setting them up on a DevOps pipeline. Sorry, can't be of much help.
kiss you kis amita bachan kiss india people
😀
Hi ! , I have a .tar.gz file generated from the baseline created in Auto CM tool and how can I use this file in AZURE devops to create YAML file in azure pipeline
Hope you resolved this issue.
Thank you Rahul can you help if I am struck anywhere, can I contact you for any help?
Happy to help where possible .
I tried created Release YML release pipeline , but it's failing at task copyfilesoverssh ,error "Error: Not found sourceFolder " . This task is working in classic release pipeline . in task - sourceFolder: '$(System.DefaultWorkingDirectory)/_microservices_azure_pipeline
might be a change in the folder names? Did you check the logs to see where the files are written to. You could enable verbose logging to get more details in the logs.
Hi Rahul
Thanks for such a nice video tutorial. Currently I am trying to add my release in YAML. but this yaml file not recognize Stages as command . could you please help me on this
Replied on other comment
Hi Rahul
Thanks for such a nice video tutorial. Currently I am trying to add my release in YAML. but this yaml file not recognize Stages as command . could you please help me on this
Did you double check the formatting/spaces in the yaml file? what error do you get?
@@RahulNath .Thank you It was formatting issue.