travis ci

19
Travis CI 1/17 Artūrs Liepiņš [email protected]

Upload: -

Post on 15-Jul-2015

2.310 views

Category:

Software


0 download

TRANSCRIPT

Travis CI

1/17

Artūrs Liepiņš [email protected]

Agenda • Introduction

• Demonstration

• Q and A

2/17

What is Travis? • «A hosted continuous integration

service. It is integrated with GitHub»

3/17

Jenkins? • CI server

• Roots: Java, Sun, Hudson

• Flexible & extensible – 100s of plugins

• Lots of uses and workflows

4/17

What can Travis do? • Monitor GitHub projects

• Run tests

• Provide feedback

• Build artifacts

• Check code quality

• Deploy to cloud services

• Whatever you can make it do

5/17

Travis VS Jenkins

Travis Jenkins

Commercial Open-source

Service Application

Convention Configuration

Easy to use Flexible

6/17

How does it work?

7/17

git add . git commit

git push

service hook

run builds

fresh environments fresh environments fresh environments fresh environments

Features • Automatic integration with GitHub

o Repository access

o Building pull requests

• First class support for 21 languages

• Pre-installed build & test tools

• Availlable services – databases, message queues, etc

• Deployment to multiple cloud services

8/17

Features • Encrypt secure environment variables or files

• Parallel builds with different environments

• Clean environment o Virtual machines reacreated after every build

• CLI client and API for sripting

9/17

Supported platforms • OS: Linux, iOS and Mac

• Android

• C

• C++

• Clojure

• C#

• D

• Erlang

• Go

• Groovy

• Haskell

• Java

• JavaScript (with Node.js)

• Julia

• Objective-C

• Perl

• PHP

• Python

• Ruby

• Rust

• Scala

• Visual Basic

10/17

Supported deployment tools

... And many others

11/17

Pros • Easy to configure & use

• Great integration with GitHub and cloud services

• Fast (usually)

• It’s popular

12/17

Cons • No manual builds

• No build pipelines

• Need to rely on their infrastructure

• Less extensible than Jenkins

• Not suitable for high-security projects

• It’s popular

13/17

Alternatives: Cloud

• circleci.com - very similar to Travis, more advanced

testing, Docker support

• appveyor.com - for Windows apps

• ship.io - iOS

• codeship.io - focuses on Continuous Delivery to cloud

services

• drone.io – fully open-source

• solanolabs.com - focuses on test-driven development

• wercker.com - new, innovative project (in beta)

• assembla.com - alternative to Atlassian tools, includes CI

14/17

Alternatives: Self-hosted

• DotCi - Jenkins extension by Groupon

• Custom setup with Jenkins + Docker + GitHub API

• Drone – Open-Source version of drone.io

15/17

Let’s see it in real life!

16/17

Thank you for your attention

• Time for questions!

17/17

Feedback

Sponsors of XXIX DevClub.lv