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

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии • 178

  • @MilanJovanovicTech
    @MilanJovanovicTech  2 года назад +5

    Want to master Clean Architecture? Go here: bit.ly/3PupkOJ
    Want to unlock Modular Monoliths? Go here: bit.ly/3SXlzSt

  • @anicemind3893
    @anicemind3893 2 года назад +14

    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 RUclips.
    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 RUclips. 😊
    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  2 года назад +3

      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!

  • @db81zg
    @db81zg 9 месяцев назад +1

    odličan video Milane - kratko, jasno i efikasno. 🚀

  • @zachedo3538
    @zachedo3538 Год назад +4

    the best explanation about CI/CD Pipeline using GitHub Actions! Thanks Milan 🙂

  • @surya779
    @surya779 2 года назад +1

    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.

  • @radeksendecki9922
    @radeksendecki9922 2 года назад +1

    Love your videos. It's great that you put the Azure topic on the table. Wait for more!

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад +2

      Thanks, Radek. Is Azure your primary choice?

    • @radeksendecki9922
      @radeksendecki9922 2 года назад

      @@MilanJovanovicTech if you think about a cloud provider - yes, Azure is my primary choice

  • @cavila0217
    @cavila0217 2 года назад +2

    it is a tip-top explanation, thanks a bunch Milan!

  • @vamvdotnet
    @vamvdotnet Год назад +2

    A video about testing + code coverage report configuration in CI/CD pipeline would be delightful!

  • @bhargavisathish5062
    @bhargavisathish5062 3 месяца назад +1

    Amazing job @Milan! Very well explained at right pace.

  • @recepciftci2642
    @recepciftci2642 2 года назад +2

    Awesome video as always. Good job

  • @EmptyGlass99
    @EmptyGlass99 2 года назад +1

    Another comprehensive but concise tutorial - thanks

  • @respectandcare-e7g
    @respectandcare-e7g 2 года назад +18

    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  2 года назад +7

      I'll think about it, not a bad idea

    • @mylesdavies9476
      @mylesdavies9476 2 года назад +3

      I would welcome something similar or just general guidance on dealing with multiple environments and how this is managed within the code / config

  • @danielarandamartin2709
    @danielarandamartin2709 Год назад +1

    It was very very good video. Thank you Milan !

  • @krzysztofbarbarski3966
    @krzysztofbarbarski3966 2 года назад +1

    Definitely this will force me to move my Github projects to Azure :)

  • @SajidAliSoftwareEngineer
    @SajidAliSoftwareEngineer 2 года назад +1

    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  2 года назад +1

      If you're using GitHub, it should be straightforward 😁

  • @34823ehwe6w
    @34823ehwe6w 2 года назад +4

    Keep up the good work man, great job ❤️❤️

  • @muhammedalikhan7559
    @muhammedalikhan7559 Год назад +2

    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  Год назад +1

      Thanks for reminding me about that, I'll work on something :)

  • @matthewrossee
    @matthewrossee Год назад +1

    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  Год назад

      You can deploy an image and run it inside a container

    • @matthewrossee
      @matthewrossee Год назад

      @@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?

  • @saroshwadia
    @saroshwadia 2 года назад +5

    Awesome video!!! Clear and very easy to follow and to the point. 3 thumbs up 🙂

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад

      Thank you so much! 😊

    • @saroshwadia
      @saroshwadia 2 года назад

      @@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?

  • @harrylyod3402
    @harrylyod3402 10 месяцев назад +1

    hi, will love to see the step where you add the test too. thanks

  • @aykani
    @aykani 2 года назад +2

    Great informative video! To the point. thanks.

  • @majormartintibor
    @majormartintibor 2 года назад +1

    Very useful video. Def saved for later use, will come in handy I am sure.

  • @kasunjalitha2300
    @kasunjalitha2300 Год назад +1

    Awesome comprehensive video. Thanks for the information. 👏👏👏

  • @raachchaima8995
    @raachchaima8995 Год назад

    I really like your enthusiasm ! thank you !

  • @valy_berea
    @valy_berea Год назад +1

    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  Год назад +1

      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 Год назад

      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  Год назад

      @@valy_berea I built something like that before with CodeCov 😁 I'll make a video about it then!

  • @medzik1993
    @medzik1993 2 года назад +1

    Hi Milan!
    Can U video about what is your choice about implementing background task ?
    Have U ever use hangfire ?

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад +1

      I have a video about the Outbox pattern using Quartz, check that out

  • @bashettyharshitha1060
    @bashettyharshitha1060 Год назад +1

    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.

  • @simonegiuliani4913
    @simonegiuliani4913 11 месяцев назад +1

    Thanks Milan!

  • @ahmetertugrulkaya3201
    @ahmetertugrulkaya3201 29 дней назад

    simple explanitaion and easy to follow, but my project requires other micro services and consul like containers. How to do it with this?

  • @bharaniraghavender
    @bharaniraghavender 2 года назад +1

    Exceptional videos.
    Would like to request for higher resolution for future videos 🙂

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад

      What do you mean by higher resolution? 🤔
      It's 1920x1080

    • @bharaniraghavender
      @bharaniraghavender 2 года назад

      @@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 🙂

  • @musaddiqueansari7695
    @musaddiqueansari7695 3 месяца назад

    Great explanation

  • @AKASHDPakash
    @AKASHDPakash 6 месяцев назад

    Good one Milan.

  • @ifixedit8307
    @ifixedit8307 6 месяцев назад

    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?

  • @stunna4498
    @stunna4498 2 года назад +1

    Another banger video! You should do a Azure Repos version! nonetheless good work !

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад

      Bangers is all I produce 😂
      I have to add Azure DevOps to the list it seems, it was asked more than once.

  • @vigneshvangala2235
    @vigneshvangala2235 3 месяца назад

    Hi milan,
    You did a great video CI/CD.
    and Please do video on database configurations and own domain addition for accessing deployed api.

  • @AbdallahHegab
    @AbdallahHegab 2 года назад +1

    i like your videos , you have a great content , i consider you as my mentor

  • @nelsongomez8547
    @nelsongomez8547 2 года назад +2

    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  2 года назад +1

      Looks like something with the .yml file?
      dotnet publish is expecting something in the ./publish path, but there isn't anything there.

    • @nelsongomez8547
      @nelsongomez8547 2 года назад

      ​@@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

  • @krizalfaro
    @krizalfaro 7 месяцев назад

    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

  • @b000ta
    @b000ta 8 месяцев назад

    would love to add deployment through docker images part as well

    • @MilanJovanovicTech
      @MilanJovanovicTech  8 месяцев назад +1

      That'd be interesting for a future video

    • @b000ta
      @b000ta 8 месяцев назад

      @@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

  • @lasindadilshan7860
    @lasindadilshan7860 2 года назад +1

    Great 🚀🚀! Git hub code will always helpful to all .
    need project using clean architecture sessions A to Z with CI/CD. 😁

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад +1

      Care to explain more what kind of project you want to see?

  • @MateStier-hd4nv
    @MateStier-hd4nv 11 месяцев назад +1

    What ticketing system do you prefer?:D

    • @MilanJovanovicTech
      @MilanJovanovicTech  11 месяцев назад

      Don't prefer any of them, but I've used Jira most often

  • @stevejackson2643
    @stevejackson2643 3 месяца назад

    Hi Milan. It builds fine, but now I get the error "Unable to resolve action actions/webapps-deploy, repository not found"

    • @MilanJovanovicTech
      @MilanJovanovicTech  3 месяца назад

      I think you have to target the latest version: azure/webapps-deploy@v2

  • @stephen9646
    @stephen9646 9 месяцев назад +1

    Hi Milan is it possible to deploy a .NET core Web API built with clean architecture without using CI/CD Pipeline?

  • @nomad191
    @nomad191 2 года назад +1

    Awesome Video !! keep it up ..

  • @Muhammadnaeem-nj6pk
    @Muhammadnaeem-nj6pk 8 месяцев назад +1

    Hi @MilanJovanovicTech That is a really good video. Love to see it

  • @samcolserra2425
    @samcolserra2425 Год назад +1

    Thanks, your config worked

  • @diegovegaandrade4902
    @diegovegaandrade4902 Год назад +1

    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

  • @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

  • @thanhlongnguyenpham9675
    @thanhlongnguyenpham9675 6 месяцев назад

    Thank you so much for sharing your knowledge

  • @ChrisDev-wi9rl
    @ChrisDev-wi9rl Год назад +1

    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  Год назад

      Yeah. They should be accessible via {{secrets.YOUR_SECRET_NAME}}

  • @AafaanJii
    @AafaanJii 2 месяца назад

    What about uploading and downloading artifacts? What are they and when to use them?
    Actually i want to setup this for an umbraco project. And i wanna know the pest way to do this and ways for cost cutting in azure?

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 месяца назад

      Well this is the base case, for a more complex scenario you'd need to customize it

    • @AafaanJii
      @AafaanJii 2 месяца назад

      @@MilanJovanovicTech thank you very much this also worked for me, actually my project was deployed using ci cd as well i had an issue when browsing tha app, it showed 500 then i added some environment variable too display proper error details and eventually it was related to a project not referring properly so fixed it

    • @AafaanJii
      @AafaanJii 2 месяца назад

      @@MilanJovanovicTech
      Can u please make a series on azure. Your videos are simple to understand. I love them.. Infact everyone loves them.
      I have an umbraco project to be deployed on azure.. And i am new to all this. Wanna learn load balancing etc
      Cost cuts

  • @obeddougan1505
    @obeddougan1505 6 месяцев назад +1

    Please how can I deploy my DDD project to azure

    • @MilanJovanovicTech
      @MilanJovanovicTech  6 месяцев назад

      Did you watch the video?

    • @obeddougan1505
      @obeddougan1505 6 месяцев назад

      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

  • @abdulkabeer7953
    @abdulkabeer7953 9 месяцев назад

    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  9 месяцев назад

      No idea, to be honest. How is that possible if you're logged into Azure?

    • @abdulkabeer7953
      @abdulkabeer7953 9 месяцев назад

      @@MilanJovanovicTech Yeah I figured out the issue and resolved it. Thanks for your instant reply.

  • @stevejackson2643
    @stevejackson2643 4 месяца назад

    I tried to deploy using azures wizard for github. It spits out a nice pipeline on github but I just get an error that project file is not found. Do you HAVE to use a solution file with GitHub actions or should it also work with csproj files?

    • @MilanJovanovicTech
      @MilanJovanovicTech  4 месяца назад

      Maybe the file paths are wrong/missing? You could also try it with a .sln file and see if it makes a difference

    • @stevejackson2643
      @stevejackson2643 4 месяца назад

      @@MilanJovanovicTech I have triple checked file paths, everything seems to be in order. This worked previously with a Azure Devops Git repo -> Azure with just csproj file and I havent changed any paths, so its probably a requirement from Github actions that the solution file is there. Will let you know

  • @compman73
    @compman73 Год назад +1

    Awesome same as always 👍

  • @EdsonYamamoto
    @EdsonYamamoto 2 месяца назад

    thanks for the tutorial.

  • @MarcusKaseder
    @MarcusKaseder 2 года назад +1

    Didn't smash the like button but Milan got the strength to finish the video anyway
    Just joking, take my like ;-)

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад +1

      Thanks Marcus 🤣
      I had a few sips of coffee, and that got me throuhh

  • @imtheshadow6396
    @imtheshadow6396 2 года назад +1

    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  2 года назад

      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 2 года назад +1

      @@MilanJovanovicTech Thank you appreciate your effort, will check it out

  • @mizrachiran
    @mizrachiran Год назад

    Thank you for this video

  • @djaalabahmed2038
    @djaalabahmed2038 Год назад +1

    Great 👍👍

  • @jhonnidarshan3094
    @jhonnidarshan3094 Год назад +1

    nice one

  • @umasankarsivasubramanian607
    @umasankarsivasubramanian607 Год назад +1

    How to become a patreon member?

  • @TechDevelopNet
    @TechDevelopNet Год назад +1

    Hi Milan,
    I really like your videos, Can you do the same for AWS ec2 (linux/windows) as well?

  • @finiskyyy
    @finiskyyy 10 месяцев назад +1

    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  10 месяцев назад

      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 10 месяцев назад

      @@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 9 месяцев назад

      I have the same error and couldn't fix it ,can i have any help please

  • @avecesar
    @avecesar 2 года назад +1

    Thank you!!

  • @yanko694
    @yanko694 2 года назад +1

    Why not Azure DevOps CI/CD...

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 года назад +2

      GitHub is my repository of choice, so it made sense to use GitHub Actions

  • @alishahryarymasterpars7165
    @alishahryarymasterpars7165 4 месяца назад

    How can I buy your packages??
    I'm currently in Iran. can I buy your package with USDT??

  • @RichardOmarFernándezCruzado
    @RichardOmarFernándezCruzado Месяц назад

    Perfect !!

  • @BijouBakson
    @BijouBakson 5 месяцев назад

    Thank you

  • @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  Год назад +1

      Yes, but you'll need separate Azure App Service instance + publish profiles in the build pipeline.

  • @vinalpatel3269
    @vinalpatel3269 8 месяцев назад

    I have tried this but won't work

    • @MilanJovanovicTech
      @MilanJovanovicTech  8 месяцев назад

      What's not working?

    • @vinalpatel3269
      @vinalpatel3269 8 месяцев назад

      @@MilanJovanovicTech when cicd runs it deploys whole code insted of its build/published items.

  • @Taalaibek
    @Taalaibek 2 года назад +1

    🚀

  • @osantini
    @osantini Год назад +1

    thank you, save me

  • @pragmatic-pr
    @pragmatic-pr 6 месяцев назад

    helpful

  • @mostafachronic1874
    @mostafachronic1874 Месяц назад

    Deploy Your Application To Iis Using GitHub Actions

  • @bozapa
    @bozapa 8 месяцев назад

    Bro i had some probelms with "actions/webapps-deploy@v2". "azure/webapps-deploy@v2" works for me.

  • @KolawoleBayoAdesina
    @KolawoleBayoAdesina 2 года назад +1

    Thanks for this video Milan