• Stars
    star
    108
  • Rank 314,661 (Top 7 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐳👨 Docker in Travis-CI

travis-docker

Build Status

Running Docker in a Travis CI build.


Travis now officially supports Docker !

This project is now deprecated, but the resources may be useful:

  • as an example to create Docker workspaces on environments with constraints
  • to use a specific version of Docker or a specific daemon configuration on Travis

./run script will run commands in a user-land linux with docker and docker-compose and pass back the exit code.

.travis.yml example

Simple

sudo: true

install:
  - curl -sLo - http://j.mp/install-travis-docker | sh -xe

script:
  - ./run 'docker build -t test . && docker run test'

Advanced

sudo: true                  # Required to install packages

env:
  global:
    - DOCKER_VERSION=1.7.1  # Install Docker version 1.7.1
    - DOCKER_VERSION=get.docker.com  # Install Docker using get.docker.com (may break)

    - BRANCH=stable         # Use 'stable' branch
    - BRANCH=develop        # Use 'develop' branch

    - QUIET=1               # Less verbose logging
    - UML_FIG=0             # Don't install fig
    - UML_DOCKERCOMPOSE=1   # Install docker-compose

install:
  # Install https://github.com/moul/travis-docker toolchain
  - curl -sLo - http://j.mp/install-travis-docker | sh -xe

script:
  - ./run docker run busybox ls -la
  - ./run docker run busybox ls -la /non-existing-dir
  - ./run 'docker-compose up -d blog && docker ps && date'
  - ./run 'apt-get install git && git clone myrepo && cd myrepo && docker build -t myimage .'
  - ./run 'docker build -t test . && docker run test'
  - ./run 'ruby my_app_that_communicates_with_docker_socket.rb'

You can find more examples on travis-docker-example.

Environment variables

  • DOCKER_VERSION=1.8.0-rc2, default is 1.7.1, available values are all the Docker releases + get.docker.com for docker's install script
  • DOCKER_STORAGE_DRIVER=aufs, default is devicemapper, available values are aufs, btrfs, devicemapper, vfs, overlay
  • UML_DOCKERCOMPOSE=0, do not install docker-compose
  • UML_FIG=0, do not install fig
  • QUIET=1, be less verbose

sudo requirement

As you probably noticed, the examples above contained the line sudo: true. Travis is moving towards a new infrastructure where sudo is not supported (yet?). That line ensures that your project will state that your project requires sudo (as travis-docker does) and should therefore not be run on the new infrastructure. For existing projects, which have a history of runs on Travis, the old infrastructure might get used even without that line. So it might be unneccessary for your project. But since the line also affects people forking your project, you probably shouldn't rely on that compatibility, but instead make your requirements explicit.


Changelog

v1.1.0 (2015-07-30) (BRANCH=v1.1.0 or BRANCH=stable)

  • The Docker version can now be choose
  • Improved documentation (sudo, yaml)
  • Improved install script

usage: .travis.yml

env:
  global:
    - BRANCH=v1.1.0

sudo: true

install:
  - curl -sLo - http://j.mp/install-travis-docker | sh -xe

script:
  - ./run 'docker build -t test . && docker run test'
  - ./run 'docker-compose up -d blog && docker ps'

Full changelog

v1.0.0 (2015-06-02) (BRANCH=v1.0.0)

Update (2015-07-30): this version is now unstable due to Docker's new install script.

First stable version

usage: .travis.yml

env:
  global:
    - BRANCH=v1.0.0
    - QUIET=1

sudo: true

install:
  - curl -sLo - http://j.mp/install-travis-docker | sh -xe

script:
  - ./run 'docker build -t test . && docker run test'
  - ./run 'docker-compose up -d blog && docker ps'
  • First "stable" version
  • /var/lib/docker is mounted as tmpfs (limited to 2Gib)
  • No persistency between ./run calls
  • Optional packages fig and docker-compose are installed by default and can be skiped with UML_FIG=0 UML_DOCKERCOMPOSE=0
  • Verbose mode is enabled by default and can be disabled with QUIET=1
  • Default storage driver is aufs and can be changed using DOCKER_STORAGE_DRIVER={devicemapper,aufs,btrfs,vfs,overlay}

v0.0.0 (2015-01-18)

Proof of concept


Projects using travis-docker

License

MIT

More Repositories

1

assh

💻 make your ssh client smarter
Go
2,868
star
2

awesome-ssh

💻 A curated list of SSH resources.
2,245
star
3

sshportal

🎩 simple, fun and transparent SSH (and telnet) bastion server
Go
1,693
star
4

quicssh

SSH over QUIC
Go
775
star
5

http2curl

📐 Convert Golang's http.Request to CURL command line
Makefile
704
star
6

node-gitlab

DEPRECATED, see https://github.com/node-gitlab/node-gitlab
JavaScript
474
star
7

protoc-gen-gotemplate

📂 generic protocol generator based on golang's text/template (grpc/protobuf)
Go
430
star
8

gotty-client

🔧 terminal client for GoTTY
Go
296
star
9

golang-repo-template

🌀 A template for creating new Golang + Docker + Canonical Domain + Badges + Dependabot + Renovate + GolangCI-lint + Goreleaser + GitHub Actions + Gitpod + Depaware + Git Hooks + ...
Go
274
star
10

zapgorm2

⚡ zap logging driver for gorm v2
Go
246
star
11

alfred-workflow-gauth

🔑 TOTP - Google Authenticator Workflow for Alfred2 (Two-Factor authentication)
Python
238
star
12

ssh2docker

🐳 standalone SSH server that connects you to your Docker containers
Go
183
star
13

docker-diff

🐳 Compare Docker images
Shell
154
star
14

depviz

👓 dependency visualizer for GitHub & GitLab (a.k.a., "auto-roadmap")
Go
139
star
15

grpcbin

httpbin like for gRPC
Go
128
star
16

docker-icecast

📻 Icecast 2 in Dockerfile (Docker container, compatible with liquidsoap)
XSLT
103
star
17

iocat

🔧 Socket.io & WebSocket netcat-like utility
CoffeeScript
83
star
18

number-to-words

convert number into words (english, french, italian, roman, spanish, portuguese, belgium, dutch, swedish, polish, russian, iranian, roman, aegean)
Go
73
star
19

awesome-ascii-art

A curated list of ascii-art resources
49
star
20

docker-kernel-builder

🐧 Kernel build environment in Docker
48
star
21

docker-readthedocs

🐳 ReadTheDocs (RTD, read the docs) in docker
Shell
43
star
22

kafka-gateway

🌊 Kafka Gateway (gRPC/protobuf + http/json)
Go
40
star
23

zapgorm

⚡ Zap logger for GORM (support v1 and v2)
Go
38
star
24

retry

🐚 retry shell commands
Makefile
26
star
25

dockerpatch

🐳 Read, write, manipulate, convert & apply filters to Dockerfiles
Go
24
star
26

radioman

🎵 Web radio solution using Liquidsoap and Icecast
Go
21
star
27

dockerself

🐳 runtime self dockerizer
Go
21
star
28

anonuuid

🔧 Anonymize UUIDs outputs (written in Golang)
Go
20
star
29

chizap

⚡️ simple zap logging middleware for go-chi
Go
20
star
30

node-scaleway

🔧 Online Labs API client in Node.js and browser javascript
JavaScript
19
star
31

pb

C#
18
star
32

scaleway-ipxe

💃 custom IPXE config on Scaleway servers
17
star
33

gno-basics

Gnolang smart contract examples
Go
15
star
34

sapin

🎄 draw a beautiful christmas tree in ascii using Golang
Go
14
star
35

totp-keychain

🔒 TOTP cli backed by the OS X keychain
Go
14
star
36

cleanarch

🚿 the clean architecture, optimised for Golang
Go
14
star
37

grpcbin-example

Go
14
star
38

xbmc-remote-keyboard

📹 Send local keyboard presses to a remote XBMC/Kodi through JSON RPC api (javascript, coffee, ncurses)
CoffeeScript
14
star
39

captcha

🦾 a "Completely Automated Public Turing test to tell Computers and Humans Apart" CLI
Go
13
star
40

golang-boilerplate

🔧 Golang project bootstrap
Makefile
13
star
41

zapfilter

⚡💊 advanced filtering for uber's zap logger
Go
13
star
42

scaleway-cli-node

💻 Interract with Scaleway from command line (Mimics Docker CLI)
JavaScript
12
star
43

acl

👮 ACL micro-service (gRPC/protobuf + http/json)
Go
12
star
44

progress

🏗 progress, steps, completion patterns for golang
Go
12
star
45

node-icecast-admin

📻 Icecast admin nodejs library - used for statistics
JavaScript
12
star
46

stegaporn

8========D The art of hiding sensitive data in porn videos
Shell
11
star
47

docker-liquidsoap

📻 Liquidsoap in Docker - compatible with icecast
Dockerfile
11
star
48

pipotron

generic (& funny?) text generator
Go
11
star
49

bot

🤖 my personal bot / virtual assistant (GitHub, Discord, HTTP+gRPC API, Twitter, Coffee, etc)
Go
11
star
50

translator

🎤 Translator micro-service
Go
10
star
51

image-builder

⚠️ ARCHIVED ⚠️
10
star
52

node-leboncoin

🔧 leboncoin.fr nodejs library
CoffeeScript
10
star
53

node-netsoul

Netsoul client - Epitech, Epita, Ionis
JavaScript
9
star
54

internet-status

📶 Check internet connectivity
Go
9
star
55

totp-cli

🔒 TOTP CLI
Go
8
star
56

docker-coreos-img

🐳 CoreOS image in a docker image
Makefile
8
star
57

generate-fake-data

🧬 CLI to generate fake data for testing
Go
8
star
58

euler

🎲 Project Euler in Golang
Go
8
star
59

shikaku

🀄 Shikaku generator
Go
8
star
60

git-ci

♐ git subcommand to interract with CI/CD from command line
Go
8
star
61

nixpkgs

🧔 personal nix config #nixos
Nix
8
star
62

docker-binfmt-register

🐳 Register Binfmt-support in Docker, works with boot2docker to run armhf images
8
star
63

graphman

graph manipulation library in golang (pert, cpm, dijkstra, ...)
Go
8
star
64

3d-stereo-html5

3d anaglyph / stereoscopic html5 canvas viewer
8
star
65

libmusic

Manipulate Music in Golang
Go
8
star
66

converter

✂️ multiformat data conversion
Go
7
star
67

mbin

:neckbeard: plenty of more-or-less useful scripts I use(d)
Python
7
star
68

irccloud-desktop-app

💻 IRC Cloud Desktop Application (irccloud.com)
CSS
7
star
69

cryptoguess

Automatically detect and parse cryptography keys
Go
7
star
70

ascii2svg

Go
7
star
71

conf-du-loose

💀🔫 Hacked
Shell
7
star
72

as-a-service

👨 Me, as a service
Go
7
star
73

pkgman

📱 Package manipulation tool & library (ipa, etc)
Go
7
star
74

drunken-bishop

Drunken Bishop algorithm for Ascii-Art representation of Fingerprint
Makefile
7
star
75

image-tools-v1

⚠️ Archives ⚠️ Image Tools - Scripts to build images on Online Labs
7
star
76

hacker-typing

☠️🏴‍☠️🦜 impress your friends :)
Makefile
7
star
77

port-docker-image

🐳 Script to port Docker image on armhf architecture
Shell
7
star
78

u

🔬 Go common utility functions
Go
7
star
79

go-dl-extract

🐳 "curl | tar xf" as a static binary - ADD compressed tarball url on Docker scratch
Go
6
star
80

godev

A collection of helpers I use during Golang development
Makefile
6
star
81

amiga-ball

AMIGA!!!
HTML
6
star
82

tapas-icecast-analytics

Icecast Web Analytics using Tapas (nodejs)
CoffeeScript
6
star
83

docker-drupal

🐳 run Drupal in Docker
Shell
6
star
84

runcache

🔧 shell command caching
Shell
6
star
85

node-slumber

🔧 Port of Python's slumber library -- (RESTful API library)
CoffeeScript
6
star
86

guilhunize

Speak like Guilhem
Makefile
6
star
87

testman

😎 `go test` wrapper for advanced testing workflows in Go
Go
6
star
88

banner

lightweight Golang ascii-art text generator
Go
6
star
89

node-alfred-workflow

👨 Create Alfred Workflow with NodeJS (wrapper)
Python
6
star
90

awesome

awesome
Go
6
star
91

alfred-workflow-chromecast

👨 Chromecast Workflow for Alfred2
Python
6
star
92

docker-plan9port

🐳 plan9port in Docker
Dockerfile
6
star
93

term.js-cli

🔧 A command line interface client for term.js / tty.js
CoffeeScript
6
star
94

funcenter

function-level middlewares in golang
Go
6
star
95

image-service-travis

💽 WIP Official Travis-CI worker image on Online Labs
Makefile
6
star
96

zapring

💍 In-memory RING buffer backend for the Zap logger
Go
6
star
97

docker-emacs

🐳 run Emacs server in Docker
Emacs Lisp
5
star
98

wiki

✌️ life wiki
5
star
99

comments

GitHub-Based discussions for some posts of my website
HTML
5
star
100

music-paint

paint-based midi controller
Makefile
5
star