Тёмный

Azure DevOps release pipeline: Deploy a .NET application to IIS (CI/CD YAML tutorial) 

Round The Code
Подписаться 8 тыс.
Просмотров 35 тыс.
50% 1

This video will look at creating a Azure DevOps release pipeline to deploy a .NET Web API to IIS.
In this CI/CD tutorial, we'll show you how to set up an environment so you can release to IIS.
Afterwards, we'll talk through how to link with GitHub and start to code a release pipeline using YAML.
The tasks will involve the artifacts download, using resources to use your release pipeline to link to your build pipeline, variables setup and IIS deployment.
This will help you set up continuous integration (CI) and continuous deployment (CD) for your .NET website.
💻 Download the code example for this demo 💻
www.roundthecode.com/dotnet-c...
📖 Learn .NET and C# with our online courses 📖
www.roundthecode.com/dotnet-c...
🎥 .NET CI/CD with Azure playlist 🎥
• .NET CI/CD with Azure
► More information:
www.roundthecode.com/dotnet-t...
► Chapters
0:00 Coming up...
0:06 Why Azure Release Pipeline is important for CD
0:43 Dependency injection course
0:52 Set IIS website
1:42 Create Environment in Azure DevOps
3:03 Rename pipelines
3:37 Create Release pipeline
4:48 Code YAML file for Release Pipeline
11:50 Run Release Pipeline
12:38 How the Package path works
13:26 Top Tip
14:08 What we've learnt
#azure #pipelines #dotnet

Наука

Опубликовано:

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 70   
@BigRouch
@BigRouch Год назад
I cannot explain enough how this video is infinitely better than all of the Microsoft documentation combined. Great job. Thank you.
@RoundTheCode
@RoundTheCode Год назад
Thanks for the comment BigRouch. Glad it benefited you.
@joehernandez3231
@joehernandez3231 3 месяца назад
Great video! It's extremely helpful as I put together build and deploy pipelines at my current job. The explanation near the end about the Package location is also very much appreciated.
@RoundTheCode
@RoundTheCode 3 месяца назад
Glad it helped!
@andrewbrady5839
@andrewbrady5839 Год назад
Thanks very much for this. very good and clear tutorial!
@RoundTheCode
@RoundTheCode Год назад
You're welcome Andrew. Glad you found it useful.
@piriyaie
@piriyaie Год назад
Thank you sir for this great and easy understandable video! Thank you!
@RoundTheCode
@RoundTheCode Год назад
Glad it was helpful!
@khanfaizan05
@khanfaizan05 2 месяца назад
Very nice.. very clear explanation.. loved it.. thank you very much ❤
@RoundTheCode
@RoundTheCode 2 месяца назад
Thanks for the comments.
@germansantiesteban8085
@germansantiesteban8085 4 месяца назад
Great explanation. Thanks
@RoundTheCode
@RoundTheCode 4 месяца назад
Glad it was helpful!
@mrshodz
@mrshodz 11 месяцев назад
Great Video.
@RoundTheCode
@RoundTheCode 10 месяцев назад
Thanks.
@jephrennaicker4584
@jephrennaicker4584 10 месяцев назад
very informative!
@RoundTheCode
@RoundTheCode 10 месяцев назад
Thanks. Glad it was helpful.
@bystronq
@bystronq Год назад
thank you 🎉
@RoundTheCode
@RoundTheCode Год назад
Thanks for the comment Cemal
@mshahabfar
@mshahabfar 9 месяцев назад
This video answered lots of my questions. If I want to set up a website on my local machine IIS and use Azure DevOps for CI/CD, should I have a valid IP for my local machine?
@androidsavior
@androidsavior 6 месяцев назад
at the end, will this only deploy the changed/new files or it will deploy the whole project on each github commit ?
@RoundTheCode
@RoundTheCode 5 месяцев назад
It will deploy the whole project.
@Mo-ef9yt
@Mo-ef9yt Год назад
Very nice video, thanks However will this procedure work if the website is hosted on a on-premis webserver that has IIS installed? Meaning that the website is not hosted on Azure.
@RoundTheCode
@RoundTheCode Год назад
Yes it will. As long as the Azure agent is installed on the server you're deploying to, it will work.
@Astynax777
@Astynax777 Год назад
This video helped me out a lot to locate the artifact. One question though: the title indicates it's a CI/CD tutorial, but your trigger for the release pipeline is "none". How do we wire it up to trigger after a successful build to make it truly a CD solution?
@RoundTheCode
@RoundTheCode Год назад
This article should explain how to do that. In the resources, there is a 'trigger' option. That might be a way of triggering a resource after a resource. learn.microsoft.com/en-us/azure/devops/pipelines/process/pipeline-triggers?view=azure-devops
@gabrielligeiro1235
@gabrielligeiro1235 5 месяцев назад
basically, just add "trigger: true" here "resources: pipelines: - pipeline: 'BuildCustomName' project: 'YourAzureDevOpsProjectName' source: 'YourAzureDevOpsBuildPipelineName' branch: 'YourGitBrench' trigger: true"
@oloidhexasphericon5349
@oloidhexasphericon5349 6 месяцев назад
Is there a way to add App_Offline.htm in this script before doing a release ? Is there a general Azure devops YAML documentation available somewhere ? I can't seem to find it.
@RoundTheCode
@RoundTheCode 5 месяцев назад
Read this article: www.roundthecode.com/dotnet-tutorials/azure-devops-release-pipeline-dotnet-web-api-iis The "Deploy IIS website" section in the article includes an App_Offline.html flag in the YAML.
@udaynarasimharajukalidindi638
thanks
@RoundTheCode
@RoundTheCode Год назад
Thanks for the comment.
@AG34273
@AG34273 Год назад
Great content! IISWebAppManagementOnMachineGroup has like 10 more required input properties. How did you get past not specifying them?
@AG34273
@AG34273 Год назад
never mind, it lets me save past the error/warning.
@RoundTheCode
@RoundTheCode Год назад
Good that you found the content useful Ashish.
@idreesahmed2051
@idreesahmed2051 Год назад
6:51 Could you please tell why did defined the pool: vmImage: windows-latest ? in release pipeline
@RoundTheCode
@RoundTheCode Год назад
Hi Idrees, Azure Pipelines have a number of virtual images which you can use when running your pipeline. You can see the list here: learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml Essentially, windows-latest will use the latest Windows Server operating system which at present is Windows Server 2022.
@qburanp
@qburanp 10 месяцев назад
@@RoundTheCode but why if you don’t use this pool in the pipeline?
@naeemansari227
@naeemansari227 Год назад
very nice explanation and content and I understand the flow and process. I'm trying to create environment on the Azure_DevOps. While I run the Shell Script on my server so I got bellow error "A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. Failed to connect. Try again or ctrl-c to quit"
@RoundTheCode
@RoundTheCode Год назад
What does the script do?
@ProDevelopmentPK
@ProDevelopmentPK 6 месяцев назад
I got a noob question, Do you think this will work if my IIS Server is not on Azure Server but somewhere else like in my Personal Machine. Will the Agent be able to download the Artificats and Deploy ?
@RoundTheCode
@RoundTheCode 6 месяцев назад
Yes it will as long as it has a connection to the internet. In this demo, I downloaded the agent onto my personal machine to do the deploy.
@osvaldofervio7809
@osvaldofervio7809 4 месяца назад
Excellent video, I'm super stuck when I get to the step: "IISWebAppDeploymentOnMachineGroup" when the pipeline is running I get the following error: "##[error]Error: No package found with specified pattern.Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job." I really think I can't match the line you have Package: "Package: '$(Pipeline.Workspace)\buildPipeline\AzureTestProject\RoundTheCode.AzureTestProject'" from the .yaml could you advise me?
@RoundTheCode
@RoundTheCode 4 месяца назад
I would need to see your YAML file. Fill out my contact form if you still need help: www.roundthecode.com/contact
@axelaceax
@axelaceax Год назад
Will this work if the agent is not on the same vm? My pipeline agent is on vm A and my iis server is on another vm B in azure.
@RoundTheCode
@RoundTheCode Год назад
Yes that's fine. You can register agents and environments in Azure DevOps and these can be referenced in your YAML pipeline.
@user-zi7uo2ls3r
@user-zi7uo2ls3r Год назад
thank you for your greats info, but i facing error when i run release pipeline ...... /azure-pipelines-2.yml (Line: 14, Col: 18): Pipeline Resource buildPipeline Input Must be Valid.
@RoundTheCode
@RoundTheCode 10 месяцев назад
It might mean that you've used that alias on a previous pipeline. This happened me to very recently, so potentially changing the alias to something else and changing any other references from the previous alias within the YAML file may solve the issue.
@Andy-si1pl
@Andy-si1pl 8 месяцев назад
I get the same. I changed it to buildPipeline1 but same thing. UPDATE I wrapped it in single quotes like this pipelines: - pipeline: 'MyPipelineAlias' and later on - checkout: none - download: 'MyPipelineAlias' and finally Package: '$(Pipeline.Workspace)\MyPipelineAlias\MyProject\MyProject.Subfolder'
@mateusnascimento8888
@mateusnascimento8888 4 месяца назад
It happens, the project field inside the pipelines, is the name of the azure project, and not the api project name.
@sandeepnarayana9150
@sandeepnarayana9150 6 месяцев назад
really very helpful video, Please help me with below error while installing azagent in azure vm. Exception calling "DownloadFile" with "2" argument(s): "Unable to connect to the remote server" At line:1 char:1303 and agentzip file is not downloading 442 port is already Please suggest what are security settings that I need to check from vm side and Azure devops side?
@RoundTheCode
@RoundTheCode 6 месяцев назад
Where abouts is that happening? When you publish your .NET application?
@patrickmathew9283
@patrickmathew9283 11 месяцев назад
Hi sir.. Thank you for the great video.. There is one question that how I can connect sql server project on azure devops
@RoundTheCode
@RoundTheCode 10 месяцев назад
Hi Patrick, With a SQL Server project, you can use the DACPAC file to generate any changes you need. There is more about it here: learn.microsoft.com/en-us/azure/devops/pipelines/targets/azure-sqldb?view=azure-devops&tabs=yaml
@dinkar-singh
@dinkar-singh 2 месяца назад
Your explanation is really good but at 10:30 you have used variables in two variations ${{ variable.name }} and $(variable.name). why is that? and whats the difference between them?
@RoundTheCode
@RoundTheCode 2 месяца назад
I think it's because $(Pipeline.workspace) is a predefined variable
@rohailabbaszaidi
@rohailabbaszaidi Год назад
Why did you NOT create release pipeline in RELEASES tab under Pipelines?
@RoundTheCode
@RoundTheCode Год назад
Hi Rohail, This is where Azure DevOps can get a bit confusing. The releases tab is the old way of building pipelines. Microsoft seem to be encouraging users to use YAML pipelines which appear in the Pipelines tab. Took me ages to work that one out.
@Capt_stupid
@Capt_stupid 3 месяца назад
@@RoundTheCode Yeah that s super confusing. Would be great i you have mentioned it in the video.
@sibrenbouman5624
@sibrenbouman5624 2 месяца назад
Hi, I'm getting the following error when trying to run: 'The pipeline is not valid. Unable to resolve latest version for pipeline build-pipeline. This could be due to inaccessible pipeline or no version is available.' Google isn't helping me much. What could be the issue?
@RoundTheCode
@RoundTheCode 2 месяца назад
Drop me a message on LinkedIn and attach the YAML file to the message. My LinkedIn page is www.roundthecode.com/linkedin
@sibrenbouman5624
@sibrenbouman5624 2 месяца назад
@@RoundTheCode I've send you a message!
@RoundTheCode
@RoundTheCode 2 месяца назад
I think you have two PublishBuildArtifacts@1 tasks in your build pipeline.
@sibrenbouman5624
@sibrenbouman5624 2 месяца назад
@@RoundTheCode I did, but unfortunately removing one didn't fix it.
@sheriffcrandy
@sheriffcrandy 6 дней назад
Why don't you use releases?
@RoundTheCode
@RoundTheCode 3 дня назад
Releases is the old way of doing it.
@sheriffcrandy
@sheriffcrandy 7 часов назад
@@RoundTheCode Maybe for small-scale projects. But for an Azure DevOps implementation housing 50+ large scale enterprise repos, I think standard release pipelines are the way to go. Did microsoft come out with any docs/statements recommending to use only pipelines, not releases anymore?
@johngelson2473
@johngelson2473 Год назад
not so great. Not even remotely helpful for a beginner. lol
@RoundTheCode
@RoundTheCode Год назад
Sorry to hear that John. Did you checkout the full playlist as it introduces Azure DevOps, and shows you how to create a build pipeline ru-vid.com/group/PLNLqfquXi7rsZlj3ZeA1GPMs2x73IINZ1
@patricksuchy5585
@patricksuchy5585 Год назад
I'm a beginner and it helped me a ton with setting up my first CI/CD Pipeline to an IIS server. I don't think the instructor is the problem here. lol
@RoundTheCode
@RoundTheCode Год назад
@@patricksuchy5585 Thanks Patrick.
@idreesahmed2051
@idreesahmed2051 Год назад
Man learn Basics Then you will understand the whole thing I am in the same stage as you
Далее
DAD LEFT HIS OLD SOCKS ON THE COUCH…😱😂
00:24
impossible to understand how😨❓
00:14
Просмотров 8 млн
How To Deploy a ASP.NET Website to IIS or Azure
21:28
Просмотров 258 тыс.
Azure Pipelines - Release
17:36
Просмотров 68 тыс.
Azure Devops Pipelines | Deploying to On-Prem Machines
27:41
How to design a Deployment Pipeline (GitOps)
11:01
Просмотров 27 тыс.
iPhone 15 Pro в реальной жизни
24:07
Просмотров 355 тыс.