I would like to echo the following comment: "I cannot explain enough how this video is infinitely better than all of the Microsoft documentation combined." It's a year later, and this is still true. Thank you for the work on this video.
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.
This is fantastic. Would be great to see a whole series on Azure DevOps as there's not a lot of it on your channel so far, plus some of it is slightly out of date (but still very useful!)
@@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?
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.
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?
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.
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.
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'
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?
They are in the root of the repo. The build pipeline is azure-pipelines.yml and the release pipeline is azure-pipelines-1.yml github.com/RoundTheCode/AzureTestProject/tree/main
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.
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.
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?
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
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?
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.
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 ?
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.
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?
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?
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
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"
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 ruclips.net/p/PLNLqfquXi7rsZlj3ZeA1GPMs2x73IINZ1
I cannot explain enough how this video is infinitely better than all of the Microsoft documentation combined. Great job. Thank you.
Thanks for the comment BigRouch. Glad it benefited you.
I would like to echo the following comment:
"I cannot explain enough how this video is infinitely better than all of the Microsoft documentation combined."
It's a year later, and this is still true.
Thank you for the work on this video.
I second that.
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.
Glad it helped!
This is fantastic. Would be great to see a whole series on Azure DevOps as there's not a lot of it on your channel so far, plus some of it is slightly out of date (but still very useful!)
Thanks for the idea. I will consider it.
Awesome video, really clear. Worked first time for me. Thank you.
Great to hear!
Why don't you use releases?
Releases is the old way of doing it.
@@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?
6:51 Could you please tell why did defined the pool: vmImage: windows-latest ? in release pipeline
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.
@@RoundTheCode but why if you don’t use this pool in the pipeline?
Very nice.. very clear explanation.. loved it.. thank you very much ❤
Thanks for the comments.
Thanks very much for this. very good and clear tutorial!
You're welcome Andrew. Glad you found it useful.
This is great. Thank you!
You're very welcome!
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?
I think it's because $(Pipeline.workspace) is a predefined variable
Thank you sir for this great and easy understandable video! Thank you!
Glad it was helpful!
at the end, will this only deploy the changed/new files or it will deploy the whole project on each github commit ?
It will deploy the whole project.
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.
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.
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'
It happens, the project field inside the pipelines, is the name of the azure project, and not the api project name.
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?
where i can find the code of the yml file in the video.in the download sending by mail i cant find it.thanks in adavnce.
They are in the root of the repo. The build pipeline is azure-pipelines.yml and the release pipeline is azure-pipelines-1.yml
github.com/RoundTheCode/AzureTestProject/tree/main
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.
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.
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?
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
basically, just add "trigger: true" here "resources:
pipelines:
- pipeline: 'BuildCustomName'
project: 'YourAzureDevOpsProjectName'
source: 'YourAzureDevOpsBuildPipelineName'
branch: 'YourGitBrench'
trigger: true"
Great content! IISWebAppManagementOnMachineGroup has like 10 more required input properties. How did you get past not specifying them?
never mind, it lets me save past the error/warning.
Good that you found the content useful Ashish.
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?
I would need to see your YAML file.
Fill out my contact form if you still need help:
www.roundthecode.com/contact
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.
Yes it will. As long as the Azure agent is installed on the server you're deploying to, it will work.
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 ?
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.
Great explanation. Thanks
Glad it was helpful!
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.
Yes that's fine. You can register agents and environments in Azure DevOps and these can be referenced in your YAML pipeline.
Thanks very much for this video
My pleasure
Great Video.
Thanks.
Why did you NOT create release pipeline in RELEASES tab under Pipelines?
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.
@@RoundTheCode Yeah that s super confusing. Would be great i you have mentioned it in the video.
I don't get it. Why don't you use the pipelines from the 'releases' menu?
That's the "old" way of doing it.
@@RoundTheCode Then it's a weird naming convention chosen by M$ :D
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?
Where abouts is that happening? When you publish your .NET application?
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?
Drop me a message on LinkedIn and attach the YAML file to the message.
My LinkedIn page is www.roundthecode.com/linkedin
@@RoundTheCode I've send you a message!
I think you have two PublishBuildArtifacts@1 tasks in your build pipeline.
@@RoundTheCode I did, but unfortunately removing one didn't fix it.
Hi sir.. Thank you for the great video.. There is one question that how I can connect sql server project on azure devops
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
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"
What does the script do?
How to create build Pipeline .yml
very informative!
Thanks. Glad it was helpful.
thank you 🎉
Thanks for the comment Cemal
thanks
Thanks for the comment.
not so great. Not even remotely helpful for a beginner. lol
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
ruclips.net/p/PLNLqfquXi7rsZlj3ZeA1GPMs2x73IINZ1
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
@@patricksuchy5585 Thanks Patrick.
Man learn Basics
Then you will understand the whole thing
I am in the same stage as you