>> Hi, I'm Donovan with another episode of Azure Friday.
We're here at Build 2018.
And I have my guest Abel.
We're going to talk about continuous integration.
Tell me about Continuous Integration and the role that it
plays inside of DevOps.
>> The idea is any time you check in code,
as soon as code hits your source control,
it should kick off the build and that build will grab
the latest code for source control, compile everything.
Hopefully, if you're doing things correctly,
you run unit test to make
sure if you're building is successful or not.
>> So, it sounds like that Continuous
Integration is that first step with
that catalyst that starts
this DevOps pipeline. Would you say that's true?
>> Absolutely.
>> Okay.
>> It's step number one. If you don't have
Continuous Integration, you can't do DevOps.
>> Got you.
>> So, it's important to have
some type of system that's monitoring your repository,
and upon every commit,
it's going to allow the developer to get
an instant feedback on it if that's a good commit,
bad commit, test of passing or failing.
You can put static code analysis, FXCop.
There's lots of cool stuff
you can do in your starting system.
>> So much that you can do. Do you remember back in
the day when we first started writing code,
they would schedule build to kick off at night?
>> Yeah.
>> At 12 at night?
>> Yep.
>> And I could check in code and I literally would not
know whether I broke the build until the next morning.
>> Correct.
>> That's way too long, specially in this DevOps role.
So, if I check in my code.
I want instantaneous feedback
or feedback quickly as possible.
>> All right.
>> So, I check in the code, kicks off the build.
Let me know, did I break the build?
And like you just said,
we can add things like a unit test,
we can scan our code for security
and do things like that as well.
>> What I also think it's really interesting about
Continuous Integration is that it
lets the entire team know that the build is broken.
>> That's real.
>> And if you don't have Continuous Integration,
we've all been on that team where we do a Git latest and
the entire build is broken. And everyone on the team-
>> Everyone is stuck and they-
>> Is now broken.
>> They can't get the work done.
>> And we're waiting for that person
to go back and fix the build
because no one had any clue
that the build was actually being broken.
So, I think it's really important that it's not only
the catalyst to being successful with DevOps,
you can actually use CI in and of
itself without continuous sort
of appointment and still get value.
>> Absolutely. Even if you're not
adopting the DevOps mindset and DevOps culture,
you get massive amounts of
value by implementing Continuous Integration.
>> Another thing that I think it's
interesting about Continuous Integration is
that there's zero risk in implementing it.
>> That's right. None.
>> Because if you're on a team of say,
for example, six other developers.
>>Yeah.
>> I've had a lot of people come back to me
frustrated and disappointed that they weren't able to
convince the others that they needed to
implement Continuous Integration.
"Oh, we don't have time for that."
>> Just stand alone.
>> Exactly, my point. If you just carry it on-
>> It's a check box.
>> No one will know that you've done it except you.
>> And you start getting instantaneous benefits.
>> So, when you break the build,
I instantly know it's broken while
my other peers are
doing a Git latest and now they are broken.
>> Hey man, why is it that I broke them?
>> Because I break the build too often,
it's about time we share the pain here as well.
But I like that instant gratification,
that instant value,
with zero risk because no one is going to be
impacted by the fact that I
decided to turn on Continuous Integration.
Well, what I think is really powerful about it,
is as soon as everyone's at the Water Cooler,
mad at whoever broke the build and I'm still working,
the question is going to be, "Didn't
you a Git latest this morning?"
And I'm just like, "No, I did do a Git latest because
the CI system told me the build
was broken." What's a CI system?
And all of a sudden,
it's a completely different conversation,
they may be trying to convince you that it's good,
you instantly see the value and you know that it's good.
So, I tell a lot of people,
"Stop asking for permission, just go do the writing."
>> Just do it.
>> Awesome. So, what are some of
the CI systems that people can use?
>> There are systems like Jenkins,
if you look in the open source role.
Of course, Visual Studio Team Services has
an amazing CI system for any language,
for any platform, not just.NET-
>> Okay.
>> Java, Go, Ruby. Literally, it doesn't matter.
>> Right. And VSS also,
from what I remember,
has hosted Linux, hosted Mac,
and hosted Windows machines.
Such that you literally can do mobile development,
containerized development,
or Windows development without installing anything.
>> We are the only cloud vendor that offers you agents,
hosted agents, on every single platform.
And you make a great point for
any platform because mobile,
if you're writing iOS code,
you have to use a Mac.
And guess what? We have
hosted Macs that you can just use for free.
>> Right.
>> Which means you don't even to own
a Mac and you can start doing iOS development.
>> And if you ever set up a Mac to do iOS development-
>> I have.
>> It's brutally painful.
>> Correct.
>> And what's nice is now all those dependencies,
all those SDKs,
all those requirements are all managed for you by
the VSTS Team to make sure that
you can do mobile DevOps just as easy as it is.
>> It's literally a dropdown that you select.
Select the "iOS Hosted Maxi
Use" and start building your iOS apps.
>> Great. So, it's more important that you have
CI than what CI system that you currently use today.
>> Yes, absolutely. And you really
can use any type of CI system you want.
I mostly, closely related to the VSTS Team,
so I always want people to use VSTS.
The more important is use CI,
you're checking your code, kick off
the build. Please use CI.
>> All right.
So, we just said everyone should be doing this,
but how much does it cost for me to get
started doing Continuous Integration?
>> It's totally free.
>> Okay. How so?
>> For instance, VSTS is completely free.
You can go to visualstudio.com,
grab a subscription and immediately start using it.
>> Right. And you'll be able to Git your code
inside the VSTS yes for free and just get
started with Continuous Integration
so that I don't have to worry
about getting permission to pay
for something or check or PO.
>> In VSTS you have unlimited private Git repos.
>> Perfect.
>> So, If you're using Git, guess what?
The Git in VSTS is just Git. Start using it.
>> Awesome. That's awesome. So, here we are at Build,
learning all about Continuous Integration.
I encourage everyone go get
started with CI. Thanks for watching.