Meet Continuous Integration2:15 with Craig Dennis
Continuous Integration is a professional development practice which aims at easing the integration burden of developing software.
[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 up