 All right, that's it for our demo now. I'm going to turn it over to William for the live Q&A portion of the session I see a question from the audience Specifically we not ask if the situation arises that developer one and two Have developed your code in their one branches and wanted to merge both the developers code What is the best optimal way to have parallel commits? William Yeah, let me let me see if I can take a look. So in this situation, there's there seems to be two developers This is from Vinon. Thanks for the question So both developers have developed their code in Their one branches. So in this case, it sounds like we have You know some type of branching branching strategy where there's a there's a master branch or a or a feature branch And then each of those developers have created their own branch off of that Where that's their own feature branch that they're developing their code in and now they want to both Merge in that code. What would be the optimal way to have parallel commits? and so I Would say in this way, I don't I don't know that there's a A huge a huge difficult strategy in order to enable this workflow In fact with the with using git, which is what git lab uses as our as our version control You you basically get this functionality out of the box and so In a nutshell developer one is going to merge their feature branch back into Let's say the main branch Then they just would submit a merge request through git lab as you saw that merge request would kick off It would have all the testing that you saw in the demo And you go could you could even reply to a review environment and then you could merge that into the master branch Now a few things may arise and then then developer to so it sounds like Maybe you would want to test both code changes together Before merging them into the main branch and getting them out into production In that case you could you could merge them both into into an integration branch or Simply merge one of those branches into the other. So that's that's a flow that we use here at git lab frequently When I'm doing development You know, I'll often have my own feature branch. We use a very simple model. We have a feature branch For each and every change And then we try to make those changes very small and then we merge them back into main So we just have one main branch production runs off of that And we branch out for each of these small features now from time to time I'll be working on a feature and one of my colleagues Dan who you heard giving the demo will also be working on a feature And in this case we want to integrate both of those changes together before merging it back into main and that's really as simple as me merging dance changes into mine and now my branch contains both of the changes And I can kick off all of the tests. I can see how those two changes perform together in my review environment Before merging them back into main What's really nice about git lab again because it's based on git Is by simply merging that dance branch into mine then my merge request updates automatically I can see all of Dan's commits in my merge requests and the pipeline kicks off and in fact get lab will automatically close His merge request if he had an open one open because His code has an effect been merged into mine So hopefully that's That's some helpful explanation there So Additionally to anybody who's on the call will definitely send you a copy of this recording It looks like that was one of the other questions and then There is a Few more questions in here as well. It looks like Are the default auto devop pipelines jobs as described in the gilab ci yaml configuration? And if yes, can we see that? That is a really good question. So absolutely. Let me see if I can share window So I I just have a random get lab project here This is one that I have just a little bit of code in this is this is a Pretty simple app. This is basically I ran rails new and Just generated this code. So this is a very simple application. Nothing's been changed here. And so There's a few different ways that you can see I've enabled auto dev ops And so when you do that when you go into the settings and you enable auto dev ops, what that does is it gives you this Get lab ci yaml file Which I may have pulled out of here, but I can show you what it looks like. So for example Let's go to add a new file And what you can see is that I can choose a template like if I want a docker file or whatnot and I Can choose gilab ci yaml as my template and then we have many Templates for you to choose from you know, there's a go template you know Laravel if you're using that there's a lot of different templates available and you can even build your own ci yaml templates and The one that I want to show off is auto dev ops so auto dev ops in effect is Is basically a get lab ci yaml template? So the way that you automatically build all those pipelines that you saw in Dan's demo is based on this file And so literally this is what the auto dev ops file is you can see it's not too long, but it is thorough and this is This is a file that you can actually then go in and edit and modify and Build off of an extend so we see a few ways that people use this One would be is if if they're starting from scratch and they need to figure out like what should my yaml file look like how what stages doesn't need What jobs do I need in each stage? Just where do I start from? that could end up being a lot of researching in our docs and You know can take you a long while so the auto dev ops Template that just gets you up and started right away like here. You've got a you've got a Pipeline and now you can go and modify this pipeline And so we see folks using two ways one is they go into this file and they add to or they modify this test suite as they need And then the other way would be to use elements from this file in their own get lab ci yaml file So this template is a is available. It's in the code base online literally in and any It's part of our templates repository And so you can see all the templates we have here including the auto dev ops template And in fact, I have a docs page open this you can see that our yaml You know specification is Very thoroughly documented So if you want to know everything about all of the keywords that are available all the ways that you can extend and modify your pipelines and build CI-cds code Using the ci yaml file You can see there's some thorough documentation available as well Thanks, William, I think there is additional questions And I just want to make sure we get through all of them if not most of them So in the Q&A box Jim Robbins asked how do you configure the DAS for auto dev ops? How do you configure the DAS for auto dev ops? So the really nice thing is that it is part of the template and There is nothing to configure so you can see that I Can disable it if I want but if you're using auto dev ops The auto dev ops templates automatically going to add a DAS which is stands for dynamic application security testing So this is the part of the pipeline where once you've deployed your app into the or once you've deployed your code into the review app It then tests that running code And you just get this out of the box So you can see it's defined as a stage there and then within the stage These are the jobs that are defined and there's nothing for you to configure So if you wanted to build your own pipeline, you could actually leverage this auto dev ops stage and This would be how you could configure DAS for any pipeline or if you just use the auto dev ops template It comes out of the box and there's nothing to configure. It's literally just a check the box Yes for auto dev ops and you it'll add this template for you. All right That's super helpful And now from Mike and he's asking how do the runners docker images work if your app is a desktop application? Is there more setup involved? That's that's a good question. Let me let me think about that. So if your application is a desktop application So let's let's just assume for the moment that It's a it's a Linux application that becomes very easy because our runners run on Linux And so anything that you would do to Test the Linux application. You can just run on runners I do know that our runners also work on Mac OS X and so if you're building like a cocoa app or Like a Mac OS X native application you can actually run the runner on OS X and Run tests for that for that desktop application I know that we do also have in the works Are on the roadmap? runners for Windows and I It is just slipping my mind at the moment If that is the case today get lab runner Windows I'm just going to take it a guess here and say yes, you can do it on Windows as well so you can actually install your runner on a Windows system and That way it can it can execute on Windows I would say in addition to running on that environment. There's there's probably a few different things To testing out a desktop application Versus a web application But Any anything that you can script you can run in a runner So the runner is literally just a shell executable environment So anything from your shell that you would be able to say go and execute this test job and automate that way You can you can run from a runner and test your desktop apps or mobile apps In that way, I see questions again about you know testing Android phones Or other types of environments like that the the answer would be anything you can script you can execute from a get lab runner All right Thanks, William. So we are at 1131 and we still have two more questions If everybody is okay with going a little bit over we can continue otherwise We can some of the questions through email the answers I mean for the questions So, how do you see if I can I can answer just a few quick ones here? And that way it'll at least be in the recording that folks will get afterwards Another question is What features from GitLab do I miss if I use a different IDE? Let's say a clips Instead of using the GitLab web ID and the answer is you don't miss any features at all And so in fact, I regularly use different ID ease to edit my code And there's no requirement to use the GitLab web ID So I use the web ID all the time. In fact, I was using it right before this webinar and But there's not a requirement to so it just depends on that the task that I'm doing If I want to review somebody else's branch I might just do it right in the web ID because I don't have to change any of my local state But for my own local development, I use Adam editor and it works just fine as soon as I push My git branch up to GitLab everything just works And so you can use GitLab with with any editor In fact, we even have an integration with Xcode and so if you're using Xcode You can push right from Xcode to GitLab And then there was a question also about testing for Android, which I believe I answered Earlier that you can anything you can script you can you can run With with that Agnes any more questions before we close it down No, I think that's all the questions we have. Thank you so much for submitting all of your questions So this demo and live Q&A session is something new that we're trying So we'd love to hear what your thoughts on today's session and would appreciate your responses to our survey Which I'll drop in the chat We also would like to invite you to sign up for free trial of GitLab ultimate I'll chat that link as well And finally, if you have any other questions, then hesitate to reach us via our sales contact page about the good lab comm slash sales That's all for today. Thank you so much for joining us and thanks William for being our product expert today. My pleasure