Home / Companies / Zapier / Blog / Post Details
Content Deep Dive

How to Set Up TravisCI-like Continuous Integration with Docker and Jenkins

Blog post from Zapier

Post Details
Company
Date Published
Author
James Carr
Word Count
993
Language
English
Hacker News Points
-
Summary

Zapier's engineering team has enhanced their continuous integration (CI) setup using a combination of Jenkins, Docker, and the GitHub Commit API to streamline their development process, which follows the GitHub Flow model. This setup triggers tests automatically whenever a pull request is opened or a new commit is added, using the GitHub Pull Request Builder plugin for Jenkins, ensuring that features are "potentially shippable" when pushed to the develop branch. Docker is utilized to run applications in isolated containers, preventing dependency conflicts and simplifying the CI server environment by replacing traditional system libraries and applications. The team has implemented dedicated Jenkins jobs to build Docker images and run tests for Python and Node.js applications, with periodic tests ensuring long-term project integrity. To manage Docker containers and images efficiently, they employ Shipyard, providing a graphical interface for container management. While this custom setup may not suit all organizations, it reflects the growing integration of Docker in CI environments, with alternatives like the Docker Plugin for Jenkins and Drone CI available for consideration.