docker · linux · power · ppc64le · travis

ppc64le: creating a Docker image for travis-build on ppc64le

Travis Build is a library that Travis Workers use to generate a shell based build script which is then uploaded to the VMs using SSH and executed, with the resulting output streamed back to Travis. In worker to use it on ppc64le it is necessary to make some adjustments in the Dockerfile so the right packages are installed and configured.

1.  You can clone directly from here and modify the Dockerfile yourself or you can clone it from my fork, which already contains the Docker file modifications:

git clone

2. Ensure you have Docker installed 🙂

3. Move to /travis-build and execute the Dockerfile

cd ./travis-build

docker build -t travis-build .

4. Await for the execution to complete. At the end, you will see the following message:

Bundle complete! 25 Gemfile dependencies, 69 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from atomic:
This gem has been deprecated and merged into Concurrent Ruby (
---> f9c66901f792
Removing intermediate container 51240c00602a
Step 14 : COPY . /usr/src/app
---> 834cd5e1310c
Removing intermediate container 5c2c08b8e005
Step 15 : CMD bundle exec je puma -I lib -p ${PORT:-4000} -t ${PUMA_MIN_THREADS:-8}:${PUMA_MAX_THREADS:-12} -w ${PUMA_WORKERS:-2}
---> Running in 2e7a5dc62a0a
---> 1df97761b6b9
Removing intermediate container 2e7a5dc62a0a
Successfully built 1df97761b6b9

5. Verify you have the new container:

# docker images
travis-build latest 1df97761b6b9 11 minutes ago 912.2 MB
ppc64le/ubuntu latest 43a12f947dfa 2 weeks ago 158.9 MB

6. Run it

# docker run --name travis-build -d -p 4000:4000 travis-build

7. Finally, verify the log:

# docker logs e9f61f815892e2730c27292b55990063f988419823c65b1f4a9aa6980c287149
[8] Puma starting in cluster mode...
[8] * Version 3.8.2 (ruby 2.3.1-p112), codename: Sassy Salamander
[8] * Min threads: 8, max threads: 12
[8] * Environment: development
[8] * Process workers: 2
[8] * Phased restart available
[8] * Listening on tcp://
[8] Use Ctrl-C to stop
I, [2017-08-30T19:42:11.968622 #12] INFO -- sentry: ** [Raven] Raven 2.5.3 configured not to capture errors: DSN not set
I, [2017-08-30T19:42:11.973410 #16] INFO -- sentry: ** [Raven] Raven 2.5.3 configured not to capture errors: DSN not set
[8] - Worker 0 (pid: 12) booted, phase: 0
[8] - Worker 1 (pid: 16) booted, phase: 0


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s