Intro to Azure DevOps - Source Control, CI/CD, Automation, and more

Share
Embed
  • Published on Dec 17, 2018
  • Full courses: www.iamtimcorey.com/
    Application Lifecycle Design course: www.iamtimcorey.com/p/application-lifecycle-design
    Patreon: patreon.com/IAmTimCorey
    Newsletter signup: iamtimcorey.com/general-sign-up
    There are a ton of tools surrounding the processes of writing code, such as source control, code hosting, build systems, CI/CD tools, package managers, and more. In the past, companies would cludge together these tool conglomerations to get a process that worked for them. Individual developers, on the other hand, typically did everything with a minimal set of tools and a lot of manual processes. In this video, I am going to introduce you to a tool that changes all of that for both individuals and companies. It is called Azure DevOps. The best part is that, unless you are an organization with more than five developers or are making more than a million dollars in revenue each year, this product is free to use.

Comments • 117

  • Anshu Anurag
    Anshu Anurag 16 hours ago

    Excellent video, concise & precise !!!

  • Rakesh R
    Rakesh R 5 days ago

    Great explanation Tim

  • Pavel Iliev
    Pavel Iliev 8 days ago

    Great stuff Tim, first video watched and subscribed. Cant wait to watch others and learn more :))

  • Web Interceptor
    Web Interceptor 12 days ago

    So how did you build the pipeline so that only when dev is available you can deploy to staging and only when staging is successful to prod? Or are the three pipelines which you showed in example not doing something like that and are just configured to be deployed as soon as build is available on master ?

    • IAmTimCorey
      IAmTimCorey  11 days ago +1

      There are different configurations you can do based upon your deployment philosophy. For me, I want to push my code to a staging branch and a release branch when I am ready. That way, I get to choose which commit to roll over to staging and release. To do that, I build every branch but then I deploy only the master branch to development, only the staging branch to staging, etc. I have a separate release pipeline for each deployment branch. Everything gets built and tested, though. Now if you wanted to say that only after we approve a release on dev does it get pushed to staging, and then again to production, you can do that with one release pipeline and gated releases. The problem I've encountered with that is that you have a lot of releases that are never finished. You push to dev but you aren't ready to move it to staging so you stop it there. Then you do it again, but this time you find a bug so again, no push to staging. The next one you move to staging but you find a bug so you stop it there. The next one goes all the way through. So, in this simple example, you have four releases and only one goes all the way through. The rest were terminated early. I find that messier than doing three releases and choosing when to move code over to be released to the next level.

  • Jose Luis Crego Quirante

    Ver good tutorial. So, do you know how to migrate entire project and history, branches, etc. from an online tfs online to devops online and version control using tfvc? I need to migrate like 20 projects and im being forced to use tfvc by my company...

    • IAmTimCorey
      IAmTimCorey  11 days ago

      I am not an expert at that. There is probably some good guidance at docs.microsoft.com though.

  • JHatLpool
    JHatLpool 13 days ago

    A very good tutorial/ video. I will bookmark it and I can see myself rerunning it, maybe, 5 or 6 times. You highlight the main menus in the UI, you highlight the key terms and define what those key terms mean.
    Thanks !

  • Shawn Mofid
    Shawn Mofid 13 days ago +1

    Thank you so much. It was comprehensive, to the point, and informative. Just tried docs.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops&tabs=tfs-2018-2 tutorial, and it worked.

    • IAmTimCorey
      IAmTimCorey  13 days ago

      I'm glad you got started successfully.

  • AQEEL AHMED
    AQEEL AHMED 15 days ago +1

    Thanks TIM Boss!

  • jesshael cabrera
    jesshael cabrera 17 days ago

    Very Thanks Tim, i can translate my experience on GitLab to Azure Devops very easy, whit your support.

  • Ryan Ceasar Borromeo
    Ryan Ceasar Borromeo 19 days ago

    When creating projects (Advanced tab):
    It is confusing what is the difference between Agile and Scrum. Because Scrum is actually agile framework. Weird.

    • IAmTimCorey
      IAmTimCorey  19 days ago

      Scrum is agile but agile is not necessarily scrum. Here is a breakdown of what Azure DevOps means by each: docs.microsoft.com/en-us/azure/devops/boards/work-items/guidance/choose-process?view=azure-devops

  • Foysal Alam
    Foysal Alam 20 days ago +1

    content is so clear :) really informative

  • John Weber
    John Weber 22 days ago +1

    Great video! You provide just the right amount of detail and background whether you are new to this or have been working in a devops environment for years. Very impressed!

  • Cedar Lo
    Cedar Lo Month ago +1

    Very Cool and very detail, thanks

  • Nikos Vovos
    Nikos Vovos Month ago +1

    Thanks for the video. It was really helpful. I have been working in Azure the last few months and I find it very interesting.
    However, I cannot find anywhere the functionality that Octopus has with the "Channel" tab. Do you know if Azure pipelines support Channels?

    • IAmTimCorey
      IAmTimCorey  Month ago

      I'm not terribly familiar with Octopus Deploy but I believe you are talking about different build environments (dev, test, prod, etc.) If so then yes, Azure DevOps supports it. The basics are that you use different branches in git to handle the different environments. Then you can use the same build but different deploys to deploy to the different environments (based upon branches). You can automate it so that it all happens without intervention or you can add in gates to prevent a step from happening until an approval is given or a time is hit (only deploy at midnight, etc.) I go over all of this in my Application Lifecycle Design course: www.iamtimcorey.com/p/application-lifecycle-design

  • Satish Singh
    Satish Singh Month ago +1

    its really good content for starting on devops. thank you.

  • Sai Niranjan
    Sai Niranjan Month ago

    I am tester and my company recently moved to Azure Devops for CI. I don't know how to use the options properly. Could you please make videos on Manual and automation testing options in DevOps? Thanks.

    • IAmTimCorey
      IAmTimCorey  Month ago

      The following course deals a lot with Azure DevOps for CI, although it only covers automated testing. It might give you a good foundation to work from: www.iamtimcorey.com/p/application-lifecycle-design

  • Sertan Yaman
    Sertan Yaman Month ago +1

    Great explanation, thanks

  • Dipendu Paul
    Dipendu Paul 2 months ago +1

    Seems as per Azure Devops terminology a Feature can have multiple User Stories, that is how Backlogs are organized

  • Prarthna Mala
    Prarthna Mala 2 months ago

    Hi for reports it take junit nunit else but not html . Is there any video we can manipulate it

    • Prarthna Mala
      Prarthna Mala 2 months ago

      @IAmTimCorey so we can't output a html report here

    • IAmTimCorey
      IAmTimCorey  2 months ago

      I use XUnit for my testing and it outputs a testing report (I'm assuming you are talking about in the build process).

  • Prarthna Mala
    Prarthna Mala 2 months ago

    Can we work on changing the state options like for bug states if I want something else at my org level

    • IAmTimCorey
      IAmTimCorey  2 months ago

      I'm not sure what you are asking to do.

  • Daniel Prowse
    Daniel Prowse 2 months ago +1

    Great help, thanks! x

  • Thangavel V
    Thangavel V 2 months ago +1

    Good video mate... Keep sharing your knowledge

  • Hastin Nuraini
    Hastin Nuraini 2 months ago +2

    yes

  • James Wonka
    James Wonka 3 months ago +2

    Oh my god, you speak such good english. Thank you for creating the video(s).

  • Shubham Tiwari
    Shubham Tiwari 3 months ago

    so is jenkins better or azure devops? if i have to automate the process of build and deploy?

    • James Peckham
      James Peckham 3 months ago

      @IAmTimCorey can you check your pipelines into source control and have them in gitflow or something for a review or change control process? Jenkins can do that.

    • IAmTimCorey
      IAmTimCorey  3 months ago

      I've used both and both are powerful. However, I've found Jenkins to be more complex and fragile. Azure DevOps is simple and does everything Jenkins does and more.

  • spock
    spock 3 months ago

    Hi Tim, does your Application Lifecycle Design course include unit testing as well?

    • IAmTimCorey
      IAmTimCorey  3 months ago

      Yes, in that we create a couple of tests to show how to run them at build. If the tests fail, we fail the build. If they succeed, we just report the success.

  • Steven Nell
    Steven Nell 3 months ago +1

    Automating as much as possible. Beautiful.

  • Jennifer Reed
    Jennifer Reed 3 months ago +2

    Best 32 minutes I spent this week. Thanks, Tim!

    • IAmTimCorey
      IAmTimCorey  3 months ago

      Excellent! I am glad it was so beneficial.

  • Jesse Aufiero
    Jesse Aufiero 4 months ago +1

    Really great presentation. Thank you.

    • IAmTimCorey
      IAmTimCorey  4 months ago

      You are most welcome. Thanks for watching.

  • Maqsood Alam
    Maqsood Alam 4 months ago

    Does this course includes SSIS, SSAS Tabular , SSAS Multidimensional?
    Application Lifecycle Design
    How real-world developers set up their projects, use source control, configure CI/CD, and manage multiple environments

    • IAmTimCorey
      IAmTimCorey  4 months ago

      Look into what Azure DevOps can do. It is the tool I use and while I don't show off a BI solution deployment, I'm sure Azure DevOps can handle it: azure.microsoft.com/en-us/services/devops/

    • Maqsood Alam
      Maqsood Alam 4 months ago

      @IAmTimCorey any recommendations please for ci cd of MS BI projects

    • IAmTimCorey
      IAmTimCorey  4 months ago

      No, those are more focused on SQL Server and its tools. ALD focuses on code development. It takes a simple codebase with ASP.NET MVC, and Entity Framework database, and a SSDT created database and it deploys them in three different environments (development, staging, and production) using automation for the build process and the deployment process (CI/CD).

  • Dkay 2017
    Dkay 2017 5 months ago +1

    Great video , As always very precise and clear. thanks

  • Nirman Doshi
    Nirman Doshi 5 months ago +1

    Very helpful, and quite informative. A great introduction and overview of Azure DevOps. Thanks for sharing

    • IAmTimCorey
      IAmTimCorey  5 months ago

      You are most welcome. Thanks for watching.

  • Premkumar Waghmare
    Premkumar Waghmare 6 months ago

    I have set up an AD Connect which connects the AD to Azure AD, But some how the TFS group / Azure devops group is not getting synced to Azure Devops group, So my users are not able to use Azure Devops from the Cloud, Any suggestions ?

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Not off the top of my head. Might be time to reach out to the Azure team to see if you can get some direct help.

  • Premkumar Waghmare
    Premkumar Waghmare 6 months ago

    Azure Devops is this onpremises or it is on the cloud, If it is on premises how can we sync it with Active Directory

    • IAmTimCorey
      IAmTimCorey  6 months ago

      There is an on prem version but Azure DevOps is cloud-based like Nelson was saying.

    • Nelson Scatarelli
      Nelson Scatarelli 6 months ago

      Hi Premkumar, it is cloud oriented, if you wish to use your own on prem AD you need to sync it with Azure AD. There are 3 ways to do this: AD Connect, AD FS and Authentication Passthrough.

  • Fatah Haniche
    Fatah Haniche 6 months ago +1

    Fantastic. Thank you.

  • Prab G
    Prab G 6 months ago +1

    Great vid once again Tim. A few things I would love to see you do some courses/vids on:
    1. Azure portal (app services etc) - you could probably do a whole playlist on that.
    2. Containerisation - docker, kubernetes (Actually showing containerising an app from the IDE and publishing it through azure devops and the portal would be amazing, kind of like an end to end).

  • Harag
    Harag 6 months ago +1

    Great overview Tim, many thanks for this :)
    Q) I've had a VSOnline account for ages now, but never really used it as the firms I worked for seem to use git, or my current place - SVN. I'm used to the concept of having "Branches", "Tags" and "Trunk" folders. I then create a folder on my HDD and using SVN pull down the code from the trunk. When we do a new release of our software (e.g. every couple months) we copy the trunk to the tag & branch folders and then carry on working on the trunk for the next release.
    How is this concept done in "Azure Dev Ops" ? What I've done at the moment is create one project and created the folders in that project, but not played with pipelines etc - just use it for personal use at the moment.

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Git does not support SVN for source control. However, you can have the pipeline pick up the code from a known location and then go from there (building and deploying). You can also use the boards for issue tracking. Just not the repo section. Azure DevOps is flexible for just this reason.

  • Shubham Khandelwal
    Shubham Khandelwal 6 months ago

    Does Azure DevOps support ASP.Net Website projects to get build, generate artifact and get deployed on the server machine without the need to use any third party tools and templates?

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Not quite sure what you are looking for but I do know Azure DevOps supports it. First, I believe a Web Application is what you are looking for (even for non-MVC sites). It will build your application and make sure your code compiles. However, if you are looking for it to be treated like an HTML site, you can do that too.

    • Shubham Khandelwal
      Shubham Khandelwal 6 months ago

      @IAmTimCorey Thanks for your reply. I will definitely go through your Application Lifecycle Design course for my learning.
      But apart from websites developed using ASP.NET MVC and ASP.NET Core frameworks, does it also support the deployment of the websites developed using ASP.NET framework (not MVC or Core). Actually when I was using VSTS, it did not have support for "website" build using ASP.NET framework, but it had support for the "Web Applications" developed using ASP.NET framework and also for website & web applications developed using MVC and Core. Just curious to know about it.
      Will feel really glad if you can reply.

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Yes it does. In the Application Lifecycle Design course, I demonstrate taking an ASP.NET MVC site (with an EF authentication database and a "regular" database for my data), building it with Azure DevOps, and then deploying it to Azure Websites and Azure SQL Databases. You could just as easily deploy it to IIS on a server or FTP the files somewhere.

  • CryptoXpe
    CryptoXpe 6 months ago

    Hi, mr. Corey. Do you know how to work with User Controls ? For example, I need a tabular Datagrid to display 6 fields on the same row, 3 fields on top, 3 fields below, as one row. How can I achieve this, did you have the experience to do this ? I need also to bind the fields to the database through data reader. Can you make a tutorial based on this request ? Here's the row sample below:

    Db Row ID1
    -----------------------------
    Field1 Field2 Field3
    Field4 Field5 Field6
    -----------------------------

    Db Row ID2
    -----------------------------
    Field1 Field2 Field3
    Field4 Field5 Field6
    -----------------------------

    ...and so on
    Thank you. May Jesus Christ bless you !

    • IAmTimCorey
      IAmTimCorey  6 months ago

      This is a fairly specific set of requirements to do a video on. I've covered binding a list to the DataGrid in WPF. That will probably get you started (unless you are trying to do this in WinForms). I haven't done data reader binding, mainly because it is ugly and not the preferred method. What I would recommend is that you take a step back and look at what you are trying to accomplish. Strip out any of the technical requirements and look at what it should do. Then see what technologies might help you get the job done. Starting with the technology first makes for messy applications and frustrated developers.

  • Victor Onyebuchi
    Victor Onyebuchi 6 months ago +1

    Nice Job Tim, but just for others who might not know, it would have been better you teach how its being used via visual studios IDE itself.

    • IAmTimCorey
      IAmTimCorey  6 months ago +1

      Well, I disagree that it would have been better. I taught the tool as it is, not as seen through another tool. If you want to see how to use it through Visual Studio, the Application Lifecycle Design course covers that as well.

  • Isaac L
    Isaac L 6 months ago

    Thanks Tim.

  • FreaM20
    FreaM20 6 months ago

    Hi Tim, thank you for this video, it was perfectly timed since I started using DevOps for my source control. I have one question: In my pipelines I don’t have the possibility to edit the pipeline by tasks but only using a YAML file. Is there an option I forgot to select? Thanks again and cheers from Germany.

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Interesting. Thanks for sharing. I've not seen a YAML-only view in my use of Azure DevOps (or VSTS previously).

    • FreaM20
      FreaM20 6 months ago

      Mathias Ottosson thank you for your response. I did that actually and there were still not the tasks as a GUI list in that pipeline. I figured that I need to setup my account (top left corner -> preview features -> disable „New YAML...“)
      Maybe this helps others with the same problem.

    • Mathias Ottosson
      Mathias Ottosson 6 months ago

      If you edit your build pipeline, you can click the "Edit in the visual designer" link in the top right corner.

  • Chris Carlos
    Chris Carlos 6 months ago

    Thank you. I have started a couple private projects using it and like it a lot. I still found myself learning a few things on your dive into the tools, so thank you for sharing this! Still learning it but you helped!

  • John Marsing
    John Marsing 7 months ago

    nice

  • Pieter Smith
    Pieter Smith 7 months ago

    Always appreciate the effort you put into the videos.

  • Shadab Shaikh
    Shadab Shaikh 7 months ago +1

    Thanks nice video, can you please demo CD for local IIS configuration?

  • ZoidbergForPresident
    ZoidbergForPresident 7 months ago

    Could quite follow: still no idea what devops is for... :P

    • IAmTimCorey
      IAmTimCorey  7 months ago +3

      Start simple - just use the repository feature to have a cloud-based repository for your code. Every project I do gets at least this treatment. Then, after you feel comfortable with that, look into using the boards to start tracking your bugs and features. After you are comfortable there, try setting it up to be a build server. Have it just build your code to make sure it compiles and make sure your unit tests are able to successfully run. Then look into having it deploy your code for you (even if you have a desktop app, you can have it build your deployment file. For example, you could have it build a squirrel updater for you automatically.

      The value of DevOps is that you only have to use what you want to use and yet it is ready to grow with you when you are ready.

  • Josh M
    Josh M 7 months ago

    Another great informational video. Thanks.

  • MICHAEL GHUNNEY
    MICHAEL GHUNNEY 7 months ago +1

    Thank sir, you rock. 5stars. I am going to try this out with my team.

    • IAmTimCorey
      IAmTimCorey  7 months ago

      Excellent! Let me know how it goes (in a new comment since I might not see it if you reply to this one - or you can email me).

  • jones tako
    jones tako 7 months ago +1

    thanks

    • IAmTimCorey
      IAmTimCorey  7 months ago

      You are most welcome. Thanks for watching.

  • Shaarad Dalvi
    Shaarad Dalvi 7 months ago

    As someone who works on the product, it's good to see a video coming up!

    • IAmTimCorey
      IAmTimCorey  6 months ago

      Yeah, I'd like to connect. I'd love to hear more about your experience with developing the platform, as well as any tips you can give me on making it work even better. Shoot me an email at tim@iamtimcorey.com if you get a chance. Thanks.

    • Shaarad Dalvi
      Shaarad Dalvi 7 months ago

      @IAmTimCorey My team works on Test hub (Test plans, configurations, parameters etc.) and Visual Studio Marketplace (marketplace.visualstudio.com) Let me know how we can connect if you wish to have a chat!

    • IAmTimCorey
      IAmTimCorey  7 months ago

      I've been looking forward to diving into it. What part do you work on specifically (if you have a specific piece)?

  • Victor Onyebuchi
    Victor Onyebuchi 7 months ago

    I know these but i can steal one or two ideas from you Tim, Would watch tonight.

  • cmugy
    cmugy 7 months ago

    Your videos are amazing