Тёмный

How To Deploy Your Application To Azure Using GitHub Actions | CI/CD Pipeline 

Milan Jovanović
Подписаться 94 тыс.
Просмотров 57 тыс.
50% 1

☄️ Master the Modular Monolith Architecture: bit.ly/3SXlzSt
📌 Accelerate your Clean Architecture skills: bit.ly/3PupkOJ
🚀 Support me on Patreon to access the source code: / milanjovanovic
In this video, I'm going to show you how you can deploy your application to Azure, in an Azure App Service instance, using GitHub Actions. We're going to implement the deployment pipeline as a GitHub Action from scratch. And I'll also show you how to set up the Azure App Service instance.
Source code:
github.com/m-jovanovic/ci-cd-...
Join my weekly .NET newsletter:
www.milanjovanovic.tech
Read my Blog here:
www.milanjovanovic.tech/blog
Subscribe for more:
ru-vid.com...
Chapters
0:00 What we are deploying
1:20 Adding the GitHub Action
5:00 Triggering the CI/CD Pipeline
6:50 Azure App Service setup
8:40 Deploying to Azure from GitHub Action

Наука

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

 

5 авг 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 152   
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Want to master Clean Architecture? Go here: bit.ly/3PupkOJ Want to unlock Modular Monoliths? Go here: bit.ly/3SXlzSt
@anicemind3893
@anicemind3893 Год назад
Hi Milan, I discovered your channel a few weeks ago and am totally enthusiastic. That's why I immediately became a Patreon member to support your excellent work - and of course to have access to your source code 😉. With your targeted and concise way you fill exactly the knowledge gaps that certainly very many of us (I mean experienced developers especially in enterprise area) currently - still - have, without going to the absolute beginner level every time. I know what I am talking about, I have been in the business for over 30 years. Above all, this saves numerous trial & error rounds and thus precious time. You get a very good foundation from which you can then go deeper. Your short videos were in many cases already much more valuable and substantial for me than many an hour-long tutorial in Pluralsight, Udemy or here in RU-vid. It assumes a lot of knowledge and also practical experience. But that's what makes your content so valuable for many developers. Straight to the point, the essential knowledge, perfect! Every minute of your videos is worth its weight in gold. Your speed is no problem at all, thanks to RU-vid. 😊 Please keep doing exactly what you're doing. I'm already really looking forward to what's to come. It will be a feast! Cheers, Felix.
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Hi Felix, I had a rough day yesterday and saw your comment in the evening. It's an understatement to say that you cheered me up a little. 😊 I really appreciate your kind words, and promise to keep on making good videos (and improving with each one). Stay awesome!
@zachedo3538
@zachedo3538 Год назад
the best explanation about CI/CD Pipeline using GitHub Actions! Thanks Milan 🙂
@MilanJovanovicTech
@MilanJovanovicTech Год назад
My pleasure!
@radeksendecki9922
@radeksendecki9922 Год назад
Love your videos. It's great that you put the Azure topic on the table. Wait for more!
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thanks, Radek. Is Azure your primary choice?
@radeksendecki9922
@radeksendecki9922 Год назад
@@MilanJovanovicTech if you think about a cloud provider - yes, Azure is my primary choice
@db81zg
@db81zg 5 месяцев назад
odličan video Milane - kratko, jasno i efikasno. 🚀
@MilanJovanovicTech
@MilanJovanovicTech 5 месяцев назад
Hvala puno! :)
@EmptyGlass99
@EmptyGlass99 Год назад
Another comprehensive but concise tutorial - thanks
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Glad you liked it 😁
@cavila0217
@cavila0217 Год назад
it is a tip-top explanation, thanks a bunch Milan!
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thanks Christian!
@majormartintibor
@majormartintibor Год назад
Very useful video. Def saved for later use, will come in handy I am sure.
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Automation is very fun 😁
@34823ehwe6w
@34823ehwe6w Год назад
Keep up the good work man, great job ❤️❤️
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Glad you like it!
@saroshwadia
@saroshwadia Год назад
Awesome video!!! Clear and very easy to follow and to the point. 3 thumbs up 🙂
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thank you so much! 😊
@saroshwadia
@saroshwadia Год назад
@@MilanJovanovicTech Is there a way to create an azure publish profile from the yaml file directly rather than first creating it in azure and then using it in yaml?
@recepciftci2642
@recepciftci2642 Год назад
Awesome video as always. Good job
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thank you! 😁
@kasunjalitha2300
@kasunjalitha2300 Год назад
Awesome comprehensive video. Thanks for the information. 👏👏👏
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Glad it was helpful!
@SajidAliSoftwareEngineer
@SajidAliSoftwareEngineer Год назад
Thank you so much Milan I need it because today I have setup Azure server for the API and was thinking how to use CI/CD pipline. 🥰
@MilanJovanovicTech
@MilanJovanovicTech Год назад
If you're using GitHub, it should be straightforward 😁
@user-jg9fs6et5d
@user-jg9fs6et5d 5 месяцев назад
This is gold. Thanks for the explanation. You saved me a lot of time.
@MilanJovanovicTech
@MilanJovanovicTech 5 месяцев назад
Check the blog post in the description for the sample YML file. Cheers! 😁
@aykani
@aykani Год назад
Great informative video! To the point. thanks.
@MilanJovanovicTech
@MilanJovanovicTech Год назад
You're more than welcome 😁
@KolawoleBayoAdesina
@KolawoleBayoAdesina Год назад
Thanks for this video Milan
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Don't mention it 😁
@danielarandamartin2709
@danielarandamartin2709 9 месяцев назад
It was very very good video. Thank you Milan !
@MilanJovanovicTech
@MilanJovanovicTech 9 месяцев назад
Glad you liked it!
@sidhantverma
@sidhantverma Год назад
Nice Video Millan. Following the same series, how about next on CI/CD using Azure DevOps with different environments and their respective appsettings/keyvaults configurations? 😊😊
@MilanJovanovicTech
@MilanJovanovicTech Год назад
I'll think about it, not a bad idea
@mylesdavies9476
@mylesdavies9476 Год назад
I would welcome something similar or just general guidance on dealing with multiple environments and how this is managed within the code / config
@surya779
@surya779 Год назад
I was just thinking to create a video on the same subject and I found yours. Now I gave up my idea as I think you created an even better from the one I could have created.
@MilanJovanovicTech
@MilanJovanovicTech Год назад
There's never enough videos on a topic, trust me!
@raachchaima8995
@raachchaima8995 8 месяцев назад
I really like your enthusiasm ! thank you !
@MilanJovanovicTech
@MilanJovanovicTech 8 месяцев назад
Sure thing, glad you enjoyed this one 😁
@krzysztofbarbarski3966
@krzysztofbarbarski3966 Год назад
Definitely this will force me to move my Github projects to Azure :)
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Azure is great if you're using .NET
@AbdallahHegab
@AbdallahHegab Год назад
i like your videos , you have a great content , i consider you as my mentor
@MilanJovanovicTech
@MilanJovanovicTech Год назад
It is an honor :)
@simonegiuliani4913
@simonegiuliani4913 6 месяцев назад
Thanks Milan!
@MilanJovanovicTech
@MilanJovanovicTech 6 месяцев назад
Sure thing :)
@thanhlongnguyenpham9675
@thanhlongnguyenpham9675 2 месяца назад
Thank you so much for sharing your knowledge
@MilanJovanovicTech
@MilanJovanovicTech 2 месяца назад
Glad it was helpful!
@samcolserra2425
@samcolserra2425 11 месяцев назад
Thanks, your config worked
@MilanJovanovicTech
@MilanJovanovicTech 11 месяцев назад
Glad I could help :)
@mizrachiran
@mizrachiran 8 месяцев назад
Thank you for this video
@MilanJovanovicTech
@MilanJovanovicTech 8 месяцев назад
Glad you enjoyed it!
@nomad191
@nomad191 Год назад
Awesome Video !! keep it up ..
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thanks, will do!
@lasindadilshan7860
@lasindadilshan7860 Год назад
Great 🚀🚀! Git hub code will always helpful to all . need project using clean architecture sessions A to Z with CI/CD. 😁
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Care to explain more what kind of project you want to see?
@AKASHDPakash
@AKASHDPakash Месяц назад
Good one Milan.
@MilanJovanovicTech
@MilanJovanovicTech Месяц назад
Thank you!
@compman73
@compman73 10 месяцев назад
Awesome same as always 👍
@MilanJovanovicTech
@MilanJovanovicTech 10 месяцев назад
Thanks again!
@avecesar
@avecesar Год назад
Thank you!!
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Any time! 😁
@djaalabahmed2038
@djaalabahmed2038 Год назад
Great 👍👍
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thank you 👍
@vamvdotnet
@vamvdotnet Год назад
A video about testing + code coverage report configuration in CI/CD pipeline would be delightful!
@MilanJovanovicTech
@MilanJovanovicTech Год назад
I did something with CodeCov because it was free, so might do that 🤔
@muhammedalikhan7559
@muhammedalikhan7559 10 месяцев назад
I completely agree. Shall we look forward to it?
@stunna4498
@stunna4498 Год назад
Another banger video! You should do a Azure Repos version! nonetheless good work !
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Bangers is all I produce 😂 I have to add Azure DevOps to the list it seems, it was asked more than once.
@muhammedalikhan7559
@muhammedalikhan7559 10 месяцев назад
Milan, amazing work. Can you let me know if you are planning to have that video where you cover the unit tests and coverage bits as well using github actions. Again, amazing work.
@MilanJovanovicTech
@MilanJovanovicTech 10 месяцев назад
Thanks for reminding me about that, I'll work on something :)
@jhonnidarshan3094
@jhonnidarshan3094 Год назад
nice one
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thanks!
@bharaniraghavender
@bharaniraghavender Год назад
Exceptional videos. Would like to request for higher resolution for future videos 🙂
@MilanJovanovicTech
@MilanJovanovicTech Год назад
What do you mean by higher resolution? 🤔 It's 1920x1080
@bharaniraghavender
@bharaniraghavender Год назад
@@MilanJovanovicTech 2K & 4K I do understand export time will be very high. If it's too much of time consuming then we don't mind 1080p, your content is more important than the resolution 🙂
@BijouBakson
@BijouBakson 9 дней назад
Thank you
@MilanJovanovicTech
@MilanJovanovicTech 9 дней назад
You're welcome
@harrylyod3402
@harrylyod3402 5 месяцев назад
hi, will love to see the step where you add the test too. thanks
@MilanJovanovicTech
@MilanJovanovicTech 5 месяцев назад
Covering that in a future video
@pragmatic-pr
@pragmatic-pr Месяц назад
helpful
@MilanJovanovicTech
@MilanJovanovicTech Месяц назад
Glad it helped!
@MarcusKaseder
@MarcusKaseder Год назад
Didn't smash the like button but Milan got the strength to finish the video anyway Just joking, take my like ;-)
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Thanks Marcus 🤣 I had a few sips of coffee, and that got me throuhh
@ifixedit8307
@ifixedit8307 Месяц назад
Hi Milan, thanks for the great video. Just a quick clarification if you don't mind. Did you create the package path or does it exist somewhere with your working directory?
@MilanJovanovicTech
@MilanJovanovicTech Месяц назад
Working dir
@Muhammadnaeem-nj6pk
@Muhammadnaeem-nj6pk 4 месяца назад
Hi @MilanJovanovicTech That is a really good video. Love to see it
@MilanJovanovicTech
@MilanJovanovicTech 4 месяца назад
Wouldn't it work exactly the same?
@valy_berea
@valy_berea 9 месяцев назад
Thanks for this Video. I subscribed and liked your video. Do you have one for running tests and seeing the coverage as you mentioned in this video?
@MilanJovanovicTech
@MilanJovanovicTech 9 месяцев назад
I recorded one this week, but it won't come out until a few weeks from now :) Though I was using the ReSharper code coverage tool. You can also use SonarQube for that.
@valy_berea
@valy_berea 9 месяцев назад
I use Resharper and DotCover for seeing that in the IDE. I wanted to be able to see it in some report on the build so therefore in the github action workflow running the tests on a PR for example. Thank you for your videos. They are simple and to the point so that you get something working and then just develop from there according to your needs.
@MilanJovanovicTech
@MilanJovanovicTech 9 месяцев назад
@@valy_berea I built something like that before with CodeCov 😁 I'll make a video about it then!
@bashettyharshitha1060
@bashettyharshitha1060 Год назад
Hi, is it possible to automate the step to get publish profile. Manually adding the publish profile is tedious task if we have alot of web apps
@MilanJovanovicTech
@MilanJovanovicTech Год назад
I'm not sure, to be honest. I don't know a way out of the box.
@Taalaibek
@Taalaibek Год назад
🚀
@MilanJovanovicTech
@MilanJovanovicTech Год назад
To the moon
@medzik1993
@medzik1993 Год назад
Hi Milan! Can U video about what is your choice about implementing background task ? Have U ever use hangfire ?
@MilanJovanovicTech
@MilanJovanovicTech Год назад
I have a video about the Outbox pattern using Quartz, check that out
@imtheshadow6396
@imtheshadow6396 Год назад
Hi Milan, thank you for the awesome toutrials, I almost watched all your youtube videos in a couple days I have a question on CI/CD, can I apply the same steps to publish web API project into virual machine and that app hosted on IIS? Currently, I'm publishing the app manually using visual studio, can I apply the same GitHub aciton to publish it instead of manually doing it, because visual studios uses publish profile as well to publish into VM Thank you, keep being awesome
@MilanJovanovicTech
@MilanJovanovicTech Год назад
The last step is using a GitHub action the deploy to Azure. You will need something different to deploy to IIS. Maybe this can be helpful: devopsjournal.io/blog/2020/11/24/github-actions-with-private-runner-iis
@imtheshadow6396
@imtheshadow6396 Год назад
@@MilanJovanovicTech Thank you appreciate your effort, will check it out
@irfanarslan7395
@irfanarslan7395 Год назад
Hello Milan, i need a little help about deployment. I have a dotnet web api project which I use docker compose for deploymet. In compose file i defined my app and sql server db as containers. I wanna deploy this project on Azure via github actions. How workflow file should be defined ? Thanks
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Not really sure
@MateStier-hd4nv
@MateStier-hd4nv 6 месяцев назад
What ticketing system do you prefer?:D
@MilanJovanovicTech
@MilanJovanovicTech 6 месяцев назад
Don't prefer any of them, but I've used Jira most often
@stephen9646
@stephen9646 4 месяца назад
Hi Milan is it possible to deploy a .NET core Web API built with clean architecture without using CI/CD Pipeline?
@MilanJovanovicTech
@MilanJovanovicTech 4 месяца назад
Yeah, deploy it manually
@matthewrossee
@matthewrossee 9 месяцев назад
What do you prefer? Publishing as "code" or a docker container? I'm sure it's easier to develop locally using docker, but does it make a difference when deploying to azure?
@MilanJovanovicTech
@MilanJovanovicTech 9 месяцев назад
You can deploy an image and run it inside a container
@matthewrossee
@matthewrossee 9 месяцев назад
@@MilanJovanovicTech When would you decide to deploy an image instead of the code approach in the video? I know the advantages of docker when running locally, as well as deploying it to hosting services that don't have native .NET support, so you just spin up the container. But on azure?
@TechDevelopNet
@TechDevelopNet Год назад
Hi Milan, I really like your videos, Can you do the same for AWS ec2 (linux/windows) as well?
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Perhaps, I'll see how to fit it in
@krizalfaro
@krizalfaro 2 месяца назад
how to separate them into different jobs publish and another implement? I tried to do it but I have an Error: Deployment Failed, Error: No package found with specified pattern: ./publish
@MilanJovanovicTech
@MilanJovanovicTech 2 месяца назад
What are we separating exactly?
@krizalfaro
@krizalfaro 2 месяца назад
@@MilanJovanovicTech Deployment
@ChrisDev-wi9rl
@ChrisDev-wi9rl 9 месяцев назад
Hi Milan, great video. I am building on the solution to include github secrets to create secure app accessible environment variables for my firebase config and more. Struggling to get the variables to flow through - have you done anything similar?
@MilanJovanovicTech
@MilanJovanovicTech 9 месяцев назад
Yeah. They should be accessible via {{secrets.YOUR_SECRET_NAME}}
@osantini
@osantini 11 месяцев назад
thank you, save me
@MilanJovanovicTech
@MilanJovanovicTech 11 месяцев назад
Sure thing :)
@abdulkabeer7953
@abdulkabeer7953 5 месяцев назад
Hello Milan, this is really a gem and I followed your video and went very close to the deployment on Azure. I watched your video very carefully and when I go to download the publish profile from my Microsoft Azure account it showed a message that "Basic Authentication is disabled.". So kindly help me out with this. Thanks
@MilanJovanovicTech
@MilanJovanovicTech 5 месяцев назад
No idea, to be honest. How is that possible if you're logged into Azure?
@abdulkabeer7953
@abdulkabeer7953 5 месяцев назад
@@MilanJovanovicTech Yeah I figured out the issue and resolved it. Thanks for your instant reply.
@nelsongomez8547
@nelsongomez8547 Год назад
Hello friend, conrgrats for your video. I followed this one, and i get an error, such as: Error: Deployment Failed with Error: Error: No package found with specified pattern: ./publish How to know What the specifict path is? how to recognize it? I hope your answer,
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Looks like something with the .yml file? dotnet publish is expecting something in the ./publish path, but there isn't anything there.
@nelsongomez8547
@nelsongomez8547 Год назад
​@@MilanJovanovicTech Hello Milan, thanks for your quick response. I could resolved that. Milan in some part of your video, you explained about the second part of video. This part is relationed to testing project. Can you share me that video. On the other hands, you have some video about setup database? I hope your answers. Regards, Nelson
@b000ta
@b000ta 3 месяца назад
would love to add deployment through docker images part as well
@MilanJovanovicTech
@MilanJovanovicTech 3 месяца назад
That'd be interesting for a future video
@b000ta
@b000ta 3 месяца назад
@@MilanJovanovicTech just waiting whether you will use self-hosted runner or some external action like "appleboy/ssh-action". plus please cover SSH deployment instead of azure app service
@diegovegaandrade4902
@diegovegaandrade4902 Год назад
Something were wrong with me, the azure function is deleting itself after the action is complete:(
@MilanJovanovicTech
@MilanJovanovicTech Год назад
How is that possible? 🤔
@diegovegaandrade4902
@diegovegaandrade4902 Год назад
@@MilanJovanovicTech idk I try deploying with vsc and then with github actions and that's happened. And I did in that way because the GitHub actions doesn't finish as well with the .zip package
@obeddougan1505
@obeddougan1505 Месяц назад
Please how can I deploy my DDD project to azure
@MilanJovanovicTech
@MilanJovanovicTech Месяц назад
Did you watch the video?
@obeddougan1505
@obeddougan1505 Месяц назад
Yes please i have deployed d project but i am faci g method not allowed and internal server error after But works normal on my local pc
@finiskyyy
@finiskyyy 6 месяцев назад
Hello guys! Am I the only one who gets an error saying "Deployment Failed, Error: Publish profile is invalid for app-name and slot-name provided." with this code? I'm pretty sure I configured everything the way Milan did. Cheers from Bosnia! ☺
@MilanJovanovicTech
@MilanJovanovicTech 6 месяцев назад
The source code for this video is public: github.com/m-jovanovic/ci-cd-example Did you add the publish profile as a secret?
@finiskyyy
@finiskyyy 6 месяцев назад
@@MilanJovanovicTech I looked into the source code you kindly provided and followed your steps to a letter. I've read that the slug name plays some role in this so i added it as well ("production" seems to be the default). No amount of researching seems to help. Thank you for your response!
@omaralaaelzanaty5017
@omaralaaelzanaty5017 4 месяца назад
I have the same error and couldn't fix it ,can i have any help please
@yanko694
@yanko694 Год назад
Why not Azure DevOps CI/CD...
@MilanJovanovicTech
@MilanJovanovicTech Год назад
GitHub is my repository of choice, so it made sense to use GitHub Actions
@umasankarsivasubramanian607
How to become a patreon member?
@MilanJovanovicTech
@MilanJovanovicTech Год назад
If you can't access the page, try using a VPN
@quincengomane7716
@quincengomane7716 Год назад
Hi @Milan Jovanović I would to ask if it is possible deploying multiple Service that are within one Solution. Do we use the same method that you have used here?
@MilanJovanovicTech
@MilanJovanovicTech Год назад
Yes, but you'll need separate Azure App Service instance + publish profiles in the build pipeline.
@vinalpatel3269
@vinalpatel3269 3 месяца назад
I have tried this but won't work
@MilanJovanovicTech
@MilanJovanovicTech 3 месяца назад
What's not working?
@vinalpatel3269
@vinalpatel3269 3 месяца назад
@@MilanJovanovicTech when cicd runs it deploys whole code insted of its build/published items.
@bozapa
@bozapa 3 месяца назад
Bro i had some probelms with "actions/webapps-deploy@v2". "azure/webapps-deploy@v2" works for me.
@MilanJovanovicTech
@MilanJovanovicTech 3 месяца назад
Typo
Далее
🎸РОК-СТРИМ без ФАНЕРЫ🤘
3:12:10
Просмотров 1,4 млн
How to design a modern CI/CD Pipeline
9:59
Просмотров 111 тыс.
Brutally honest advice for new .NET Web Developers
7:19
How to design a Deployment Pipeline (GitOps)
11:01
Просмотров 31 тыс.
The cloud is over-engineered and overpriced (no music)
14:39
How to Soldering wire in Factory ?
0:10
Просмотров 12 млн