Azure Devops Integration with Github

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi my name is asaf khan i'm a cloud solution architect at microsoft in today's discussion we will be talking about azure devops and the integration of azure devops with github so the good part about azure devops is it's a platform which is software as a service from microsoft azure ecosystem and it has a full suite of different objects which is like you can have both for project management you have repos for code and version control you have pipelines ci cd for continuous integration and continuous delivery or deployment you have test suit you have your artifact management system as well now the thing is that azure devops has this full suit but of recently we have seen that github is very popular in the development committee community and a lot of different organizations have started using it for enterprise as well as startup purposes so all the startups or whether enterprise they are pretty much aligning toward github so microsoft obviously recently bought github a while back and then the question was like can we have some model where we can integrate azure devops with github because github has all the different interesting capabilities about version control and with github actions you can you can run basically the pipelines of ci cd and whatnot but the the one of the key feature which was messing in github was around the project management which is available in azure devops so the thought was around from the product team was to how we can integrate the azure boards with github so that we can have the best of both worlds so firstly i'll walk you through some uh some model of how azure devops um runs in its own silos so we have project management capability in azure devops using the azure boards so you can do project management backlogs progress reporting and you can link your artifacts and all that stuff in azure devops board and this is a one-stop shop for any project manager or project orchestrator or project owner now in the repos which is a part of azure devops where you can have tfs or git option as a repo type and then you can provide this to your developers and then the next one is about the release and build processes which can be done through the ci cd pipeline now taking the next stage which is uh obviously all this is good and and one stop shop but yeah this is not uh normally seen in in most of the startups or enterprises in in current situation is that they use everything in azure devops so they have teams who are working on github so there are scenarios where teams are fully on azure devops there are scenarios where tmr fully on github and then there are some teams who are working in both the environment so the thing is that what product team at microsoft thought about can we have some way of integrating the azure devops experience which is azure devops board for the project management purposes and github for all the dev and build and release processes so that's where we come up with our today's area of discussion and that's around the azure devops integration with github so as i said we already have all the project management capabilities and project planning capabilities in azure devops board and we have all the dev capabilities in our github environment so we can use this integration in the middle and get the best of both worlds so the project manager can stick and work out their things in azure devops board and then the developers and the technical or devops team or the technical team can just focus on the github and um they can have the best of the two environments without any other specific uh compromise from one party which is like the project management or the dev team now uh i'll show you everything on the portal experience side of things because that's what we will be covering today you can do the same things using azure uh you can do yeah visual studio code or visual studio or any other dev tools so you can use it with you can implement that everything which i am showing you today through a cli experience um using for for any git interactions but just for intuitive purposes i'll be showing everything through the portal experience so firstly i'll show you something on on the github on the azure dev website so what i have is i have an organization on github integration and then in that i have created a project github boards and at this stage this entire project is pretty clean there is nothing much in it and if i go inside the boards i don't have any item now the thing is that we need to integrate our github artifacts and github activities to the board that that is basically the starting or the requirement for our our integration use case so what i'll do is uh in a normal project or in a normal day activity of a project manager you basically uh you come across some issues or some sort of challenges and then we basically report it into azure devops so what i'll do is i'll create a new item as an issue and i'll just mark its name as issue one so what you can see over here is i have just created an issue obviously there is not much information but yeah it's just a vanilla and i have got an id of two for this particular issue so as at this stage as a project manager in a real world scenario will come and fill this all these description details and areas and iteration and whatnot and then he will pass it on that yeah this needs to be done by the tech team fix it now as a tech team you need to basically come and change the code or make changes in your application side of things or yeah if it is infrastructure infrastructure side of things to get this issue sorted so we'll see a developer experience so again it's on the portal side you can have the same experience you can do it through the cli or through visual studio or visual studio code so what i have on the dev github site is i have created a github repository and it's just a vanilla we have license and readme file in this in order to build the integration we need to install a plugin first and that plugin we can get it from the from the marketplace so i'll come into the marketplace i'll just search for boards so if i search that and if i click on it so as you can see i can get i've got azure boards and if i scroll down it says uh yeah it gives a little bit brief overview of what this particular plugin is and then it's all free so no charge i'll just install it so once i install it it should be quick and this i'll say continue and yeah so the installation is happening in the background hopefully it should have done and then what it does is by default it's selected the specific repository you can also have all repositories selected or you can have any specific so in my case i'm just selecting my github boards repository and i'll just click save so once i click save it will now navigate me to azure devops and the reason being is because that's what the integration we are trying to build and as i showed you i have already created a particular organization as well as a project which is all inside in my kind of one hotmail.com account so i'll just log in with the same account so once i do that it will give me a wizard yeah it shows me which organization do you want to connect to i'll say i want to connect to github integration organization and then there's a project so it's already selected and then i can just say continue so once i say continue now the basically the collaboration between my azure devops and github has happened and that's what you can see over here it shows that the github connection has already been sorted out so this is the project setting area but it shows yeah that the github is already integrated with your uh particular board project github board project which i have so now what i'll do is i'll quickly uh open my github okay so that's my github not this one i'll go into my repose and i'll say github so that's my repo and yep so we already have um an item in our azure devops board so what we will do is um just like a regular developer experience you would be using your ide i'll just show you on the portal we i'll just create a new file i'll name the file as data.txt and then i'll say some sample data and i'll just check that in for file to for our starting point so i'll just comment it on the master branch so let's say this is the file which exists and we need to fix something in this file as per our issue reported by the project manager so what i'll do over here is just like uh i'll check out this file so i'll create it for edit and then i'll say i'm just fixing the issue one oh sorry uh issue yep issue one and then yeah so now what i'll do is i'll basically make a commit but i'll not comment on the master branch i'll just follow the pr request process and the the pr process pull request process will help us in having a better real-world experience where the developer checks in the code as a pr request and then the pr would be validated by a team or tech lead and then it merges back into the master so during my my entire pr process firstly i'll have to create a separate branch so i'll just create a branch name issue one and then yeah and before i do the comment i need to fill in the comments now here is the catch and you need to be very very sure about when you are typing these comments because that's how the all the integration will happen between the azure devops and your github environment so what i mean by that is i'll quickly show you some documentation so if you look into the azure devops and github integration documentation the link github commits is an and pull request and everything alongside it basically needs a patent so if you don't follow a pattern it will not be able to link that now that pattern is more about a b is universal irrespective to whatever you are doing you will have to use this two key key alphabets a and b which is azure boards and hash is the delimiter and then you will have to put the id now the id which is referred over here is the id which i was talking about on the azure dev website so in this case we have an id2 so what we will do is we'll make a comment so i'll say commit you can type anything but you need to have that particular pattern in that comment otherwise it will not be visible on the azure devops so i'll just say hash and two that was my id you can put whatever comment you want over here i'll leave it for now and then i'll say i need to propose the change into a new branch i can come over here i can see a new branches all over here now now we need to just test test the waters and see if whatever i was saying happened or not so if you can see over here i have commit ab2 that's my commit which has happened so in a normal world again because i did a comment on a separate branch i get create pull request option i go into the code again it it the code i can see that that my file is there but if i come over into my pull request as you can see i have this open i i don't have any open pull request so what i can do is yeah this is where i shows that there's one change which i have done in my file and yeah so i can create a pull request so i'll just go and i'll say i'll create a new pull request and so now as it says because i have both the branches same so i should select a different branch so i've just selected a separate branch so my base branch is that and so it shows zero changes that's interesting so let me go back and see what is the status over here so i can see this is my okay so there are zero changes that's anyways no problem so what we'll do is we'll we'll do the change again and i'll come back over here and i'll say so this is the main branch and i'll just say issue one a b azure boards 2 and i'll just put the commit a b h2 and i'll create a new branch out of this so i'll create issue id2 issue id 2 that's my branch name and then what i'll do is i'll just create a proposed change so when i do this as you saw i've done it the second time so if i come over here it should show again the ab2 is it's uh it's visible over here so now what i'll do is i'll create a pull request over here that's all good so i'll just say um and ab2 just for uh for linking so i'll create a pull request and when i come back over here now you can say i see i have a prav2 the third step is again just like a regular process i've done my verification the code looks all good whatever changes were done are not impacting anything so i'll just create a merge so i'll say mr and again everything if you look at is aligned to this a b a b hash two is what bill is building this entire correlation now here is uh the interesting piece you can make a commit as is and that will be all fine now the thing is that if we make a commit in this fashion the updates will all be visible over here but if you look at the entire experience side we are still in the to-do state so that's that's the particular state of our item issue one now one option is i can make a commit over merge over here and that will basically add another item and all the things are done somebody can come over here take this item pull it over there and that's it the done it's done now but can we also automate that part as well and that's where we will have the least possible friction in the entire experience so what you can do is you can there are a couple of additional patterns and attributes which can be added in the comments and that would make this entire state management or state change also very much automated so what i'll do over here is if i come over here and if i'll show you the documentation if you look into the documentation they have specified some details of how you can even change the state so let's say if you use this keyword fixed and if you do that it will automatically change the state and there are other attribute and ways of doing a fix or removing the state for multiple items are also listed in this documentation i'll share this link in the in the video as uh in the bottom of the video so yeah you can refer that so what i'll do is i'll i'll use this all my keywords but i'll add that fix ab2 and what i'll do is i'll just show you the experience side of things so i'll run it in side by side so we have done a commit we have our ab2 and we have our pull request as well so now if i go and say confirm merge so it would basically do a merge and as you can see the merge process automatically moved my particular item from issue 1 from my to-do state to done state and again i didn't have to do anything so just for sanity i'll click clean the branch and my code is all up to date so if i look at the code that's my file it's all looks good whatever required and then obviously on the board side my board status is also updated according to my changes i've done in github so without anyone getting into azure devops the devops board has been updated with the specific task and as a project manager i can see the updates and obviously as uh as a developer also if i have get a if i'm asked to correlate what activities have been done i can go and correlate that using the links which have been generated in the particular issue item which i created so yeah it's very much detailed documented i have shown very uh the tip of the iceberg you can basically make it more enriched and all obviously all the links over here are pretty much will navigate you to the github experience so this is my commit if i go to my pr it will take to my pr request which would be in this case merged but yeah you can see all the details about that pr request happened so yeah it's very deeply integrated very streamlined very smooth experience i would highly recommend for any team which is working on both of these tools and have been challenged for how to integrate the two to use the github integration and hopefully this video was helpful please do comments and like and let me know if you have any questions in the q a section in the below area i will be i'll try to answer them as early as possible thanks a lot for watching this have a good day
Info
Channel: TECH SCOUT
Views: 1,721
Rating: undefined out of 5
Keywords: Azure Devops, Azure, Github, Azure Devops Integration, Integration, Github Integration, Azure Devops & Github, ADO Boards &Github, Boards, DevOps, MS DevOps, Devops Integration
Id: CYAYomx00PA
Channel Id: undefined
Length: 17min 40sec (1060 seconds)
Published: Thu Aug 12 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.