Travis CI
By Idera, Inc.
Travis CI is a hosted continuous integration (CI) service that automatically builds and tests code hosted on GitHub (and later Bitbucket and Assembla), configured through a YAML file checked into the repository.
Definition
Travis CI is a hosted continuous integration (CI) service that automatically builds and tests code hosted on GitHub (and later Bitbucket and Assembla), configured through a YAML file checked into the repository.
Overview
Travis CI was one of the first cloud-based continuous integration services aimed squarely at open-source projects, launching support for public GitHub repositories for free and becoming a near-default badge on README files across the ecosystem in the early-to-mid 2010s. A project defines its build in a `.travis.yml` file at the repository root, specifying the language, dependencies, build matrix, and test commands; every push or pull request then triggers an isolated build in a fresh virtual machine or container. Under the hood, Travis CI spins up a clean environment for each build, installs the declared dependencies, runs the test suite, and reports pass/fail status back to GitHub as a commit check. It supports build matrices for testing across multiple language versions or operating systems, encrypted environment variables for secrets, and deployment steps that can push artifacts to targets like npm Registry, PyPI, or cloud platforms once tests pass. Travis CI's influence waned over the 2019-2022 period after its acquisition by Idera and a subsequent move away from unlimited free builds for open-source projects, which pushed much of the open-source community toward alternatives such as GitHub Actions and CircleCI. It remains in use, particularly among long-established projects with existing pipelines, but is no longer the default choice for new projects.
Key Features
- YAML-based build configuration (.travis.yml) checked into the repository
- Native GitHub integration with commit status checks and pull request builds
- Build matrices for testing across multiple language versions and OS targets
- Encrypted environment variables and secrets for secure builds
- Built-in deployment steps to common package registries and cloud targets
- Isolated, ephemeral build environments per run
- Support for many languages including Ruby, Node.js, Python, Java, and Go