Auto Version Bumping and Deployments (SemVer, GitFlow, GitVersion, CI&CD)

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 มิ.ย. 2024
  • The purpose of this demo is showcase the WOW (ways of working) I come from with auto version bumping and deployments (CI and CD) hand in hand with gitflow.
    Just to show certain ways of doing things so everyone can start thinking what ways
    they like, and whether they want to adopt it.
    00:00 Introduction
    01:47 What is semantic versioning?
    04:40 What is GitFlow?
    10:44 What is GitVersion? And use cases
    15:46 Repo Settings for GitFlow
    16:42 Demo GitVersion (C# and powershell)
    20:44 GitVersion inner working explained (Demo cont.)
    23:42 Demo GitFlow+GitVersion
    31:45 Demo GitVersion+CI
    34:11 Demo hotfix using GitFlow+GitVersion
    42:34 Demo CD
    45:02 CD Unofficial Release + GitVersion
    46:17 GitVersion+CI Stamping artifacts
    47:44 Outro
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 12

  • @etiennedutoit7602
    @etiennedutoit7602 2 ปีที่แล้ว

    This is awesome man. Very well explained. Well done!

  • @kwb9872
    @kwb9872 4 หลายเดือนก่อน

    Thanks for providing this video.
    Is there a way to use/access the GitVersion data in C# so you can show them. Since my assembly is now synchronized, I can use its version. But are there options to get the branch or other details?
    GitInfo provides those as kind of generated class.
    Is there any way to get the version info also in the ClickOnce version as well?

    • @gavingreenwood3880
      @gavingreenwood3880  4 หลายเดือนก่อน +1

      i not sure what u mean by "ClickOnce" version, however yes it very easy to access all gitversion informaiotn form within ur dll/C# code
      have a look here: gitversion.net/docs/usage/msbuild
      Once ur dll is stamped ur u used the msbuild nuget, within the same dll/project u can simple do:
      var assemblyName = assembly.GetName().Name;
      var gitVersionInformationType = assembly.GetType("GitVersionInformation");

  • @liva236muzika
    @liva236muzika ปีที่แล้ว +2

    I just wish you hadn't used this tool for GitFlow, but rather typed in git commands. Makes it all very confusing. And more drawings would have helped, demoing step by step how versions change as we move from features to releases.

  • @nii-san5485
    @nii-san5485 3 หลายเดือนก่อน +1

    I believe ms is considering Releases to be "classic" now, as you can accomplish the same thing with deployment jobs in yaml pipeline. so deployment jobs + environments replaces release + deployment groups. very confusing

  • @raymond4146
    @raymond4146 10 หลายเดือนก่อน +2

    Which git desktop tool are you using in your video?

    • @gavingreenwood3880
      @gavingreenwood3880  10 หลายเดือนก่อน

      the tool that i am using is Source Tree. I been using it for a decant now, its a must: www.sourcetreeapp.com/

  • @radhikarathiram4863
    @radhikarathiram4863 ปีที่แล้ว

    How can azure and local have a different semver?

    • @cross7140
      @cross7140 ปีที่แล้ว

      they should not. it uses git history (both gits should be in), maybe if u have code that is committed and not yet pushed to the cloud, that could cause that issue

  • @larsthomasdenstad9082
    @larsthomasdenstad9082 ปีที่แล้ว

    It seems GitVersion doesn't work with monorepos, which makes it useless for my preferred way of handling my code. Too bad, looks interesting.

    • @gavingreenwood3880
      @gavingreenwood3880  ปีที่แล้ว

      What do u mean? Like having the repos all sync with one version? Cause keeping them separate and versioning each repo individually is the default behavior ?
      However i have add monorepos before and when there was a reason to sync up all the repos again, i had to tag/release on each repo.

  • @developer929
    @developer929 10 หลายเดือนก่อน

    Great video, terrible speaker :D