CI/CD for SQL Databases (both SSDT and EF)- A TimCo Retail Manager Video

Поделиться
HTML-код
  • Опубликовано: 6 сен 2020
  • In this video, we are going to be implementing Continuous Integration and Deployment or CI/CD with our two SQL databases. One database is a SSDT project and the other is an Entity Framework database, so we will actually perform two different approaches for this topic.
    ** TimCo source code now at: www.iamtimcorey.com/courses/b...
    Full Courses: www.iamtimcorey.com
    Mailing List: signup.iamtimcorey.com/
    One-off tutorials are awesome but they aren't the only thing you should be doing to learn C#. Another vital part of learning is learning how to put it all together. This interactive course is all about putting the pieces together. You can watch each video on its own or you can watch them in order and see a bigger picture. The choice is yours.
    This course focuses on real-world development. As such, we are simulating that we work for TimCo Enterprise Solutions on a brand new product, the TimCo Retail Manager. Just like in the real world, we are starting out with one set of requirements but know that over time they will change.

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

  • @user-sy5fd7kn8w
    @user-sy5fd7kn8w Год назад +2

    I love the fact that you didnebit out the failing attempt entirely and rather worked through the issue! This is most valuable training practice which produces best training experience and best learning progress. Thank you for this video. Love it.

  • @rishi.girdhar
    @rishi.girdhar 3 месяца назад

    Wonderful! Very informative. Thank you Tim.

  • @kontrolla1
    @kontrolla1 3 года назад

    Thanks for another excellent TRM video Tim.

  • @sirousallahyari7758
    @sirousallahyari7758 3 года назад

    Another great video, thank you Tim

  • @oleolsen7333
    @oleolsen7333 3 года назад +1

    Hi Tim. Love your videos!
    I built a Web Api, not related to this project though. I have been looking for a way to do EF migrations in my CI/CD pipelines, without luck, and then I found this video. However, I created my pipelines using YAML instead of the wizard, because I followed a tutorial that used this method, and I'm not sure where to add these new steps in the YAML file. Also, I don't have all your steps that clear the artifact directory, which I understand is a good idea. I'd hate to start all over to be able to use the wizard instead, so any chance you could share the yaml file? Though I'm not even sure it's available anywhere, since the pipelines were built with the wizard from the beginning.

  • @sportsmedianews6124
    @sportsmedianews6124 3 года назад

    Thank you for this video

  • @serghus6317
    @serghus6317 3 года назад

    Hi Tim, thank you again for your great video! Tim, is it possible to sync Database on Azure and Database on premises (for example your Desktop), so that changes of the data can be a trigger for CI/CD?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Yes, you can synchronize databases between local and Azure. They actually have a tool for that.

  • @FredyArg
    @FredyArg 3 года назад +1

    Tim great video, do you work with SSIS packages and C#?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I have but I haven't covered it on this channel. Not sure if I will or not.

  • @mackosajt86
    @mackosajt86 3 года назад

    Hi Tim
    Thank you. This is the last topic i want to clearify before I start to apply for a job. And knowing that your teaching method is great real world like now I am happy. 😀
    I am almost finish your c# foundation course and I would like to ask what is the difference between this video series and the paid retail manager course on your web site?
    Thank you!

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

      The paid TimCo Retail Manager Phase 1 course is just the first phase of this series. The difference is that the videos are all together, the source code is attached to each lesson, there are no ads, and you get a certificate of completion when you are done. Otherwise, they are the same exact content. Plus, RUclips has the latest content since Phase 1 ended in November, 2019 and Phase 2 isn't complete yet.

    • @mackosajt86
      @mackosajt86 3 года назад

      @@IAmTimCorey Thank you!

  • @Lammot
    @Lammot 3 года назад

    Hey Tim.
    On the subject of Agent.OS.
    Generally, the tasks that you were using are a JS-wrapped call of some tool (sqlcmd, powershell, bash, msbuild, dotnet etc). If you look in the task.json schema, you will see that the task can only call NodeJS or powershell.
    Anyway, because of the relationship between the task and tools it calls - not all tasks are cross-platform. In your case, Windows Powershell was required. Not sure why Microsoft didn't specify it in demands for the task, but hey.
    Also, while in the video you said "You can add a stage or you can add a job", in both cases you showed stage. A job is an entity inside a stage or a build that consists of tasks. Builds and stages can have multiple jobs that can run in parallel or not, your choice. Each job is generally independent and requires an agent to run, so if you only have 1 - only 1 job can be executed in parallel.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Thanks for sharing.

    • @hellyworld9325
      @hellyworld9325 3 года назад

      It says my current operating system isn't capable of running the task. But last time I checked I have Windows Powershell installed. I'm using a Lenovo Yoga 730 Laptop. Any way to modify my OS to make this Deployment successful??

  • @officialspock
    @officialspock 3 года назад +1

    Hey Tim, did you remove the weekly challenge? can't find it in your videos anymore.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Yes I did. I am exploring other options with it. It should return in some form in the future.

  • @windowsbuilderthegreat3121
    @windowsbuilderthegreat3121 3 года назад

    Have you thought of doing backwards compatibility with older operating systems for this application

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Thank you. I have added this to the list of possible future topics.

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

    Hi Tim,
    Thank you for this awesome video as always. One question though : the command line script to generate migration.sql raise the following error : Value cannot be null. (Parameter 'connectionString'). Should I specify a connection string as parameter in the script? But which one then?

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

      If someone has the same problem I found the solution.
      The problem comes from the fact that I've declared my connection string in user secrets instead of appsettings.json. As user secrets don't get uploaded in dev ops, the command line is unable to find the connection string to execute. So the fix was simply to move my connection string from user secrets to appsettings.

  • @rehanahmed6210
    @rehanahmed6210 3 года назад

    👍👍 thank you

  • @bonserbob
    @bonserbob 3 года назад +1

    Hey Tim, I don't use Twitter or Facebook so this is the only way I know to ask you a question, although it is not about this particular video. What are your thoughts on MultipleActiveResultSets? Should I ever use it? If not, why? Thanks.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I prefer not to use it. You shouldn't have long-running connections to SQL.

  • @marcusmaunula5018
    @marcusmaunula5018 3 года назад

    How about an IdentityServer4 variant? Would be wonderful to see how it ties into all your client types here :)

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I will add it to the list. Thanks for the suggestion.

  • @marcusmaunula5018
    @marcusmaunula5018 3 года назад

    Internationalization is also a subject we see seldom in ASP.net Core courses (there is like 1 on pluralsight).

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I will add it to the list. Thanks for the suggestion.

    • @marcusmaunula5018
      @marcusmaunula5018 3 года назад

      @@IAmTimCorey But you have parts of it in the Blazor episode? I have totally missed that.

  • @karapelerin61
    @karapelerin61 3 года назад

    Which tools do you use to record this quality video? Does graphic card matter for laptops?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      I've used a lot of tools as I've grown in my production. I recommend Camtasia for Windows for easy screen recording and editing. As for a discrete graphics card in your laptop, it depends on how you use your laptop. For gaming, or screen recording, sure. For most development, it isn't a huge need but it is a nice feature.

    • @karapelerin61
      @karapelerin61 3 года назад

      @@IAmTimCorey I actually wanted to ask if graphics card matter while screen recording and rendering with camtasia or else.

  • @MikeRM2
    @MikeRM2 3 года назад

    I ran into an issue with this and the error was very unhelpful, could not find the file (for the SQL script). After some reading I found out about the System.Debug variable. That variable was helpful in the release because I was able to see that even though I selected the SQL script from the drop using the ellipses, it put the wrong slashes in there / rather than \. I made the manual change and it ran through. I was then able to remove the System.Debug variable and it still ran correctly. So there is some helpful stuff buried in the Microsoft Docs.

  • @muhammadhumayunpatyar6668
    @muhammadhumayunpatyar6668 3 года назад

    Dear Good Afternoon would you please Create a complete Course of Employee Online Attendance Management system of Multiple Branches in C# with Bootstrap form start to Finish

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +6

      And you need this before the end of the semester? :) I will add it to the list of possible future topics, but no promises.

  • @hellyworld9325
    @hellyworld9325 3 года назад

    My Release process failed for AuthDB because my OS isn't compatible. It's says Windows Desktop Powershell only. Thing is I'm using a Windows 10 Lenovo Laptop. Any ideas how I can modify the Agent or Build process to solve this issue on my laptop???

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      Seems to me someone else made a similar statement about their Lenovo, but it turned out to be just a setting in the OS. I searched back 2 yrs but can't find the comment string. Anyone know how to address this?

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

    Hello tim great video. If you could do the same with project database

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

      I am not sure what you mean. We are taking the database from this project and deploying it automatically

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

      @@IAmTimCorey sorry tim ssdt is the project database i misunderstood. Thanks again for this video. I am wondering if I have to have an environment branch so each branch deploy on only one database environment

  • @kapa2220
    @kapa2220 3 года назад

    Why you don't show process/setup of migrate/manage the repository code to another environment? It's a little bit incomplete video as doesn't show the flow through the environments and how to actually setup it.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      We don't have something ready for production yet, but when we do, we just need to merge into the staging or prod branch (whatever we decide to have) and do the same deployment process but to staging or production servers.

  • @LlamaNL
    @LlamaNL 3 года назад

    When i try to make a pipeline on our company azure devops page i only get the option to create YAML files. How do you get this UI you're using to appear.
    EDIT: ah im looking at "Pipelines" but this UI is in "Releases"

    • @tayebhimel4493
      @tayebhimel4493 3 года назад

      Use the classic editor. show the link below

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I am glad you figured it out.