Developer(s) | Idera |
---|---|
Written in | Ruby |
Platform | Web |
Type | Continuous integration |
License | Proprietary |
Website | travis-ci |
Travis CI is a hosted [1] continuous integration service used to build and test software projects hosted on GitHub, [2] Bitbucket, GitLab, Perforce, Apache Subversion and Assembla. [3]
Travis CI was the first CI service that provided services to open-source projects for free but as December 2020 no longer does so. [4] TravisPro provides custom deployments of a proprietary version on the customer's own hardware.
The main software is proprietary. Some adjacent tools [5] like API clients are open-source.
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. [6] 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.
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:
Architecture | Open Source | Commercial |
---|---|---|
amd64 | Yes | Yes |
ppc64le | Yes | No |
s390x | Yes | No |
arm64 (v8) | Yes | No |
arm64-graviton2 (v8) | Yes | Yes |
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
.
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 [6] —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).
The Travis CI blog is mainly run by Travis's Software Engineer, Montana Mendy. [7]
The company is headquartered in Berlin, Germany, and was founded in 2011. [8] In 2012 the project experienced significant growth [9] and launched a crowd funding campaign to fund further development [10] which was sponsored by dozens of technology companies. [11]
In January 2019, it was announced that the company had been acquired by Idera, Inc. [12]
In March 2019, Travis CI infrastructure suffered a massive outage from March 27 to March 29. [13] [14] [15]
In March 2020, Travis CI introduced 'The Cookbook' written by Montana Mendy with tutorials for common use cases. [16]
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
", [17] open-source projects report that their build jobs stalled. [18] 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. [19]
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.
Git is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state.
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, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), 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.
Nix is a cross-platform package manager for Unix-like systems, and a tool to instantiate and manage those systems, invented in 2003 by Eelco Dolstra.
In free and open-source software (FOSS) development communities, a forge is a web-based collaborative software platform for both developing and sharing computer applications.
GitHub is a developer platform that allows developers to create, store, manage, and share their code. It uses Git software, which provides distributed version control of 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.
Assembla is a web-based version control and project management software as a service provider for enterprises. It was founded in 2005 and acquired by Idera, Inc. in 2018. It offers Git, Perforce Helix Core and Apache Subversion repository management, integrations with other collaboration tools such as Trello, Slack, GitHub and JIRA. Assembla also offers integrations with customer's managed private clouds.
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.
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, or by default as a stand-alone web-application in co-bundled Eclipse Jetty. 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.
Scratchbox 2 is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.
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.
Vexor is a distributed cloud web-service for building and testing software, a continuous integration tool.
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.
CircleCI is a continuous integration (CI) and continuous delivery (CD) platform that can be used to implement DevOps practices. The company was founded in September 2011 and has raised $315 million in venture capital funding as of 2021, at a valuation of $1.7 billion. CircleCI is one of the world's most popular CI/CD platforms. Facebook, Coinbase, Sony, Kickstarter, GoPro, and Spotify used CircleCI in 2019.
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.