This workshop will be retired on May 1, 2025.
Heads up! To view this whole video, sign in with your Courses Plus account or enroll in your free 7-day trial. Sign In Enroll
Preview
Start a free Courses trial
to watch this video
Continuous Integration is a professional development practice which aims at easing the integration burden of developing software.
Learn more
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
[MUSIC]
0:00
Hi, I'm Craig and I'm a developer, and
I would love to talk with you about
0:04
the professional development
process of continuous integration.
0:08
So as a professional developer, you
know every application should be tested.
0:12
But just because you've
got the application tested
0:17
doesn't stop you from
running into problems.
0:20
Now for example [SOUND] you
might be working with a team and
0:23
everybody might be introducing
lots of features and
0:25
it could be causing merge conflicts or
other undesirable behavior.
0:28
So with all these features and flight
at the same time it gets pretty hard
0:32
to know how they're gonna work together.
0:36
Now this process of combining code is
known as integrating the code together.
0:38
This is where integration
testing concepts are rooted.
0:42
These problems can get big and
be difficult to manage and
0:45
oftentimes if it's not dealt with your
product might not be released on time.
0:48
[SOUND] Often your code is expected
to run on different environments.
0:53
You might develop on a Mac or
Windows but you deploy to Linux.
0:55
Now in Java we're pretty lucky because
as long as there's a JVM implementation,
0:58
our code you just work right?
1:03
That's what that write once
run anywhere is all about.
1:04
However, we might be
packaging up a library and
1:07
we need to make sure that it
works on different JVM levels.
1:09
Everybody knows that they
should test the build, but
1:13
it just takes too long,
am I [SOUND] right?
1:16
I mean it sure would be nice to have
that build process run elsewhere.
1:18
Instead of tying up your local machine,
right?
1:21
This is where a development practice
called continuous integration comes in.
1:24
Continuous Integration [SOUND] requires
developers to merge code into a shared
1:28
repository several times a day.
1:32
And what that does is it helps
detect build problems and
1:34
it helps developers find errors
easily by exposing them.
1:37
Now if you commit infrequently it makes
error handling much more troublesome.
1:40
If you wait until you get ready to launch
the product to see how integration is
1:45
working, it's bound to cause a delay.
1:49
In most cases,
1:51
continuous integration providers integrate
with a version control system like GitHub.
1:52
There are a number of continuous
integration services.
1:57
And in this workshop,
2:00
we're gonna be taking a look at
the very popular [SOUND] Travis CI.
2:01
There's also [SOUND] circleCI [SOUND] and
Bamboo, it's an Atlassian product which
2:03
you might wanna look into if
you're using Atlassian products.
2:07
Codeship [SOUND] as well as Jenkins, let's
explore Travis CI in the very next video.
2:10
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up