JSJ 346: Azure Pipelines with Ed Thomson LIVE at Microsoft Ignite

Published: Jan. 8, 2019, 11 a.m.

Sponsors:

Panel:\xa0Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today\u2019s episode to hear its new features and other exciting news!Show Topics:0:59 \u2013 Live at Microsoft Ignite1:03 \u2013 Ed: Hi! I am a Program Manager at Azure. 1:28 \u2013 Rewind 2 episodes to hear more about Azure DevOps!1:51 \u2013 Ed: One of the moves from Pipelines to DevOps \u2013 they could still adopt Pipelines. Now that they are separate services \u2013 it\u2019s great.2:38 \u2013 Chuck talks about features he does and doesn\u2019t use.2:54 \u2013 Ed.3:00 \u2013 Chuck: Repos and Pipelines. I am going to dive right in. Let\u2019s talk about Repos. Microsoft just acquired GitHub.3:18 \u2013 Ed: Technically we have not officially acquired GitHub.3:34 \u2013 Chuck: It\u2019s not done. It\u2019s the end of September now.3:55 \u2013 Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos \u2013 we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone...Ed continues to talk about this topic. He is talking about One Drive and these repositories.6:28 \u2013 Ed: We aren\u2019t going to be mixing and matching. I used to work through GitHub. It\u2019s exciting to see those people work close to me.6:54 \u2013 Chuck.6:59 \u2013 Ed: It has come a long way.7:07 \u2013 Chuck: Beyond the FSF are we talking about other features or?7:21 \u2013 Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate.8:17 \u2013 Chuck.8:37 \u2013 Ed: You just can\u2019t set it up with Apache. You have to figure it out.8:51 \u2013 Chuck: The method of pushing and pulling.9:06 \u2013 Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that.9:38 \u2013 Ed and Chuck continue to talk.9:50 \u2013 Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It\u2019s easy to get started. We have a visual designer. Super helpful \u2013 super straightforward. Releases once your code is built \u2013 get it out to production say for example Azure. It\u2019s the important thing to get your code out there.10:55 \u2013 Chuck: How can someone start with this?11:00 \u2013 Ed: Depends on where your repository is. It will look at your code. \u201cOh, I know what that is, I know how to build that!\u201d Maybe everyone isn\u2019t doing everything with JavaScript. If you are using DotNet then it will know.12:05 \u2013 Chuck: What if I am using both a backend and a frontend?12:11 \u2013 Ed: One repository? That\u2019s when you will have to do a little hand packing on the...There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it\u2019s an open source project; there\u2019s 2 \u2013 what are you going to do with the other 8? You\u2019d be surprised \u2013 people try to sneak that in there.13:30 \u2013 Chuck: It seems like continuous integration isn\u2019t a whole lot complicated.13:39 \u2013 Ed: I am a simple guy that\u2019s how I do it. You can do advanced stuff, though. The Cake Build system \u2013 they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this...It\u2019s not just running a script.15:00 \u2013 Chuck: People do get pretty complicated if they want. It can get complicated. Who knows?15:26 \u2013 Chuck:\xa0 How much work do you have to do to set-up a Pipeline like that?15:37 \u2013 Ed answers the question in detail.16:03 \u2013 Chuck asks a question.16:12 \u2013 Ed: Now this is where it gets contentious. If one fails...Our default task out of the box...16:56 \u2013 Chuck: If you want 2 steps you can (like me who is crazy).17:05 \u2013 Ed: Yes, I want to see if it failed.17:17 \u2013 Chuck: Dude, writing code is hard. Once you have it built and tested \u2013 continuous deployment.17:33 \u2013 Ed: It\u2019s very easy. It\u2019s super straightforward, it doesn\u2019t have to be Azure (although I hope it is!).Ed continues this conversation.18:43 \u2013 Chuck: And it just pulls it?18:49 \u2013 Ed: Don\u2019t poke holes into your firewall. We do give you a lot of flexibility19:04 \u2013 Chuck: VPN credentials?19:10 \u2013 Ed: Just run the...19:25 \u2013 Chuck comments.19:36 \u2013 Ed: ...Take that Zip...20:02 \u2013 Ed: Once the planets are finely aligned then...it will just pull from it.20:25 \u2013 Chuck: I host my stuff on Digital Ocean.20:46 \u2013 Ed: It\u2019s been awhile since I played with...20:55 \u2013 Chuck.20:59 \u2013 Ed and Chuck go back and forth with different situations and hypothetical situations.21:10 \u2013 Ed: What is Phoenix?21:20 \u2013 Chuck explains it.21:25 \u2013 Ed: Here is what we probably don\u2019t have is a lot of ERLANG support.22:41 \u2013 Advertisement.23:31 \u2013 Chuck: Let\u2019s just say it\u2019s a possibility. We took the strip down node and...23:49 \u2013 Ed: I think it\u2019s going to happen.23:55 \u2013 Ed: Exactly.24:02 \u2013 Chuck: Testing against Azure services. So, it\u2019s one thing to run on my machine but it\u2019s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it\u2019s in the Azure cloud?24:35 \u2013 Ed: It should, but there are so many services, so I don\u2019t want to say that everything is identical. We will say yes with an asterisk.25:07 \u2013 Chuck: With continuous deployment...25:41 \u2013 Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master...Ed continues this hypothetical situation with full details. Check it out!27:03 \u2013 Chuck: You probably can do just about anything \u2013 deploy by Tweet!27:15 \u2013 Ed: You can stop the deployment if people on Twitter start complaining.27:40 \u2013 Chuck: That is awesome! IF it is something you care about \u2013 and if it\u2019s worth the time \u2013 then why not? If you don\u2019t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source?That\u2019s the thing \u2013 if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That\u2019s the power of this \u2013 because it catches the bug before I have to catch it \u2013 then that saves me time.30:08 \u2013 Ed: That\u2019s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments.31:03 \u2013 Chuck: Then you can use time for coding style and other things.I can take mental shortcuts.31:37 \u2013 Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then...32:30 \u2013 Chuck adds his comments.Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those?33:00 \u2013 Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and...34:05 \u2013 Chuck: It works with a lot of languages.34:14 \u2013 Ed.34:25 \u2013 Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry...35:04 \u2013 Ed: Let\u2019s throw out Blackberry builds. We will ignore it.Mac OS dies a fine job. That\u2019s why we have all of those.35:29 \u2013 Chuck: But I want to run my tests, too!35:36 \u2013 Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run.36:29 \u2013 Chuck: The deployment is different, though, right?36:40 \u2013 Ed: I have a friend who clicks a button in...Azure DevOps.37:00 \u2013 Chuck: I like to remind people that this isn\u2019t a new product.37:15 \u2013 Ed: Yes, Azure DevOps. 37:24 \u2013 Chuck: Any new features that are coming out?37:27 \u2013 Ed: We took a little break, but...37:47 \u2013 Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website.39:07 \u2013 Chuck: What

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.