Travis CI

Last updated
Travis CI
Developer(s) Travis CI community, Idera
Written in Ruby
Platform Web
Type Continuous integration
License MIT License [1]
Website travis-ci.com

Travis CI is a hosted [2] continuous integration service used to build and test software projects hosted on GitHub, [3] Bitbucket, GitLab, Perforce, Apache Subversion and Assembla. [4]

Contents

Travis CI was the first CI service that provided services to open-source projects for free but as December 2020 no longer does so. [5] TravisPro provides custom deployments of a proprietary version on the customer's own hardware.

The source is technically free software and available piecemeal on GitHub under permissive licenses. The company notes, however, that the large number of tasks that a user needs to monitor and perform can make it difficult for some users to successfully integrate the Enterprise version with their own infrastructure. [6]

Configuration

Travis CI is configured by adding a file named .travis.yml, which is a YAML format text file, to the root directory of the repository. [7] This file specifies the programming language used, the desired building and testing environment (including dependencies which must be installed before the software can be built and tested), and various other parameters.

Travis CI at GitHub Universe 2019, photo by Montana Mendy. Travis CI at GitHub Universe.jpg
Travis CI at GitHub Universe 2019, photo by Montana Mendy.

Architectures

The default CPU architecture used in Travis CI builds is amd64. It is used when no arch key is present. You can identify for which CPU architecture a build job is run via the GUI:

ArchitectureOpen SourceCommercial
amd64YesYes
ppc64leYesNo
s390xYesNo
arm64 (v8)YesNo
arm64-graviton2 (v8)YesYes
Travis CI performs a multi-arch build using Arm, IBM PowerPC, and IBM Z architectures in Travis CI's Build Matrix feature, with a fate of ultimately passing the build. Travis CI performing a multi-arch build using Arm and IBM PowerPC and IBM Z architectures in Travis CI's Build Matrix feature.png
Travis CI performs a multi-arch build using Arm, IBM PowerPC, and IBM Z architectures in Travis CI's Build Matrix feature, with a fate of ultimately passing the build.

It is possible to use Docker in multiple CPU architecture-based builds within an LXD container. You may need a specific CPU architecture-compliant Docker image as a base or ensure relevant libraries required by your build are added to your Dockerfile.

Operation

When Travis CI has been activated for a given repository, GitHub will notify it whenever new commits are pushed to that repository or a pull request is submitted. It can also be configured to only run for specific branches or branches whose names match a particular pattern. Travis CI will then check out the relevant branch and run the commands specified in .travis.yml, which usually builds the software and run any automated tests. When that process has been completed, Travis notifies the developer(s) in the way it has been configured to do so [7] —for example, by sending an email containing the test results (showing success or failure), or by posting a message on an IRC channel. In the case of pull requests, the pull request will be annotated with the outcome and a link to the build log using a GitHub integration.

Travis CI can be configured to run the tests on a range of different machines with different software installed (such as older versions of a programming language implementation to test for compatibility).

Travis CI building a Perforce-based repository, with a passing status. Travis CI building on Perforce.png
Travis CI building a Perforce-based repository, with a passing status.

The Travis CI blog is mainly run by Travis's Software Engineer, Montana Mendy. [8]

Company

The company is headquartered in Berlin, Germany, and was founded in 2011. [9] In 2012 the project experienced significant growth [10] and launched a crowd funding campaign to fund further development [11] which was sponsored by dozens of technology companies. [12]

In January 2019, it was announced that the company had been acquired by Idera, Inc. [13]

In March 2019, Travis CI infrastructure suffered a massive outage from March 27 to March 29. [14] [15] [16]

In March 2020, Travis CI introduced 'The Cookbook' written by Montana Mendy with tutorials for common use cases. [17]

The seventh rendition of the Travis CI landing page - deployed in November, 2022. Landing Page for Travis CI, December 2022.png
The seventh rendition of the Travis CI landing page - deployed in November, 2022.

In November 2020, Travis CI announced the shutdown of travis-ci.org by December 31, 2020, with all existing and new accounts migrating to travis-ci.com. Despite the official pledge to keep "open source accounts completely free under travis-ci.com", [18] open-source projects report that their build jobs stalled. [19] Travis CI is no longer free for open source accounts. Travis CI only offers non-renewable sign-on bonus of "10K credits to use over a 30 day period" meant for evaluation of the paid features. [20]

See also

Related Research Articles

<span class="mw-page-title-main">IntelliJ IDEA</span> Integrated development environment

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

<span class="mw-page-title-main">Continuous integration</span> Software development practice based on frequent submission of granular changes

In software engineering, continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day. Nowadays it is typically implemented in such a way that it triggers an automated build with testing. Grady Booch first proposed the term CI in his 1991 method, although he did not advocate integrating several times a day. Extreme programming (XP) adopted the concept of CI and did advocate integrating more than once per day – perhaps as many as tens of times per day.

<span class="mw-page-title-main">Mantis Bug Tracker</span> Bug tracking system

Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.

A source-code-hosting facility is a file archive and web hosting facility for source code of software, documentation, web pages, and other works, accessible either publicly or privately. They are often used by open-source software projects and other multi-developer projects to maintain revision and version history, or version control. Many repositories provide a bug tracking system, and offer release management, mailing lists, and wiki-based project documentation. Software authors generally retain their copyright when software is posted to a code hosting facilities.

Azure DevOps Server is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

In FOSS development communities, a forge is a web-based collaborative software platform for both developing and sharing computer applications.

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub, Inc. is a platform and cloud-based service for software development and version control, allowing developers to store and manage their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

Bitbucket is a Git-based source code repository hosting service owned by Atlassian. Bitbucket offers both commercial plans and free accounts with an unlimited number of private repositories.

<span class="mw-page-title-main">Homebrew (package manager)</span> Software installation management software

Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system, macOS, as well as Linux. The name is intended to suggest the idea of building software on the Mac depending on the user's taste. Originally written by Max Howell, the package manager has gained popularity in the Ruby on Rails community and earned praise for its extensibility. Homebrew has been recommended for its ease of use as well as its integration into the command-line interface. Homebrew is a member of the Open Source Collective, and is run entirely by unpaid volunteers.

<span class="mw-page-title-main">Jenkins (software)</span> Open source automation server

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration, and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase, and RTC, and can execute Apache Ant, Apache Maven, and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

iDempiere Community Powered Enterprise. Full Open Source Business Suite

iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.

<span class="mw-page-title-main">Gitter</span> Open source messaging software

Gitter is an open-source instant messaging and chat room system for developers and users of GitLab and GitHub repositories. Gitter is provided as software-as-a-service, with a free option providing all basic features and the ability to create a single private chat room, and paid subscription options for individuals and organisations, which allows them to create arbitrary numbers of private chat rooms.

Vexor is a distributed cloud web-service for building and testing software, a continuous integration tool.

<span class="mw-page-title-main">Void Linux</span> Independent distribution developed entirely by volunteers

Void Linux is an independent Linux distribution that uses the X Binary Package System (XBPS) package manager, which was designed and implemented from scratch, and the runit init system. Excluding binary kernel blobs, a base install is composed entirely of free software.

<span class="mw-page-title-main">AppVeyor</span>

AppVeyor is a hosted, distributed continuous integration service used to build and test projects hosted on GitHub and other source code hosting services on a Microsoft Windows virtual machine, as well as Ubuntu Linux virtual machines. AppVeyor is a privately-held Canadian corporation founded in 2011.

Probo is a user automated testing tool that provides continuous integration, workflow organization and quality assurance using the same tool for project managers and developers.

<span class="mw-page-title-main">CircleCI</span> American software company

Buddy is a web-based and self-hosted continuous integration and delivery software for Git developers that can be used to build, test, and deploy web sites and applications with code from GitHub, Bitbucket, and GitLab. It employs Docker containers with pre-installed languages and frameworks for builds, alongside DevOps, monitoring and notification actions.

References

  1. Travis CI at GitHub with many repositories with MIT License
  2. "travis-ci/README.md". GitHub . Retrieved 24 February 2019.
  3. "Customizing the Build: What Repository Providers or Version Control Systems Can I Use?" . Retrieved 24 February 2019.
  4. "Test your Bitbucket projects with Travis CI". Bitbucket.org. Atlassian . Retrieved 2 April 2020.
  5. https://earthly.dev/blog/migrating-from-travis/
  6. Meyer, Mathias (19 June 2015). "How We Improved the Installation and Updated Experience for Travis CI Enterprise" . Retrieved 24 February 2019.
  7. 1 2 Tim Heckel (18 February 2013). "Meet Travis CI: Open Source Continuous Integration". InfoQ. Retrieved 24 February 2019.
  8. Mendy, Montana (6 December 2022). "Travis CI Blog" . Retrieved 6 December 2022.
  9. "About Us | Travis CI – Testing your Building Blocks since 2011". Travis CI. Retrieved 28 August 2022.
  10. Fuchs, Sven (30 December 2012). "The Travis CI Blog: 2012 at Travis CI - what a blast!". blog.travis-ci.com. Retrieved 24 February 2019.
  11. Grzesiak, Brad (7 February 2012). "All you need is love.travis-ci.org" . Retrieved 24 February 2019.
  12. "Thank you, sponsors". love.travis-ci.com. Retrieved 24 February 2019.
  13. Haase, Konstantin (23 January 2019). "Travis CI joins the Idera family" . Retrieved 24 February 2019.
  14. Fay, Joe (29 March 2019). "Travis CI users left hanging as platform lies down • DEVCLASS". DEVCLASS. Retrieved 29 October 2020.
  15. "Slow booting Linux builds". www.traviscistatus.com. Retrieved 29 October 2020.
  16. "Incident review for slow booting Linux builds outage". blog.travis-ci.com.
  17. Mendy, Montana (30 November 2020). "A Short Journey into Source Control Branching and Release Patterns" . Retrieved 30 November 2020.
  18. "Open Source at Travis CI - An Update". blog.travis-ci.com. Retrieved 28 December 2020.
  19. ".org -> .com migration unexpectedly comes with a plan change for OSS. What exactly is the new deal?". travis-ci.community. Retrieved 28 December 2020.
  20. "Billing Overview". Travis CI Documentation. Retrieved 26 November 2023.