Top Banner
Travis CI 1/17 Artūrs Liepiņš [email protected]
19
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Travis CI

Travis CI

1/17

Artūrs Liepiņš [email protected]

Page 2: Travis CI

Agenda • Introduction

• Demonstration

• Q and A

2/17

Page 3: Travis CI

What is Travis? • «A hosted continuous integration

service. It is integrated with GitHub»

3/17

Page 4: Travis CI

Jenkins? • CI server

• Roots: Java, Sun, Hudson

• Flexible & extensible – 100s of plugins

• Lots of uses and workflows

4/17

Page 5: Travis CI

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

Page 6: Travis CI

Travis VS Jenkins

Travis Jenkins

Commercial Open-source

Service Application

Convention Configuration

Easy to use Flexible

6/17

Page 7: Travis CI

How does it work?

7/17

git add . git commit

git push

service hook

run builds

fresh environments fresh environments fresh environments fresh environments

Page 8: Travis CI

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

Page 9: Travis CI

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

Page 10: Travis CI

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

Page 11: Travis CI

Supported deployment tools

... And many others

11/17

Page 12: Travis CI

Pros • Easy to configure & use

• Great integration with GitHub and cloud services

• Fast (usually)

• It’s popular

12/17

Page 13: Travis CI

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

Page 14: Travis CI

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

Page 15: Travis CI

Alternatives: Self-hosted

• DotCi - Jenkins extension by Groupon

• Custom setup with Jenkins + Docker + GitHub API

• Drone – Open-Source version of drone.io

15/17

Page 16: Travis CI

Let’s see it in real life!

16/17

Page 17: Travis CI

Thank you for your attention

• Time for questions!

17/17

Page 18: Travis CI

Feedback

Page 19: Travis CI

Sponsors of XXIX DevClub.lv