What is Travis CI?

Asked

Viewed 2,414 times

9

I am doing a research on software testing (integrated test environments, debugging and maintenance) and I found this Travis CI, but my English is not very good and I did not find articles in Portuguese. Basically, what is and what is Travis CI for? And how can I make use of it?

2 answers

12


The CI means Continuous Integration (integration continues), that is to say it refers to a series of tests that you can write to ensure that your codes and the like work as expected through unit tests.

Some useful links:

Travis-CI is a tool that you integrate with your online repository (in this case I think only Github) so that every time you upload an update Travis-CI itself will do the tests in the environments you want/configure.

For example, assuming I wrote a script for PHP and set up phpunit (unit test for PHP), then I set the .travis.yml which must be in the same repository:

language: php

php:
  - 5.6
  - 7.0
  - 7.1

Of course you should also put in the repository the tests you wrote (depending on the technology you use)

This will make Travis-CI only test my script in PHP versions 5.6, 7.0 and 7.1, an example of Laravel: https://travis-ci.org/laravel/framework

See that Travis-CI himself does everything without you having to install anything and you can point to his page or file .md (like the README.md) an image to check the current state:

<img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status">

Simply if it is green is this Ok, other colors may be small flaws or the test has not passed.

Travis-CI not only supports PHP, it actually supports many languages or technologies and with it different types of tests (which of course you write):

7

It is a continuous integration tool. This is a methodology that preaches that everything that is made of development must be integrated immediately, usually several times a day. So you have the centralized project where all the developers will put their modifications where the system is tested and built in a complete way showing if something is going wrong and identifying problems as soon as they appear and not later when it can be more complicated.

When I talk about tests I mean a set of quality checks and not just unit tests.

In some cases the implementation itself ends up being simulated to make sure everything is ok.

There are those who question how useful this is. There are those who show that there are difficulties in operating in this way.

Obviously in small teams the utility becomes much smaller, but it is still possible to benefit from the automation of the complete quality check process.

Travis CI takes care of all this (if properly configured for each task, he doesn’t guess anything, it takes a lot of work all the time to get everything in order, but can save a lot of work too) and it communicates with several other tools that help team software development. He alone does nothing.

It controls the flow of the source repository, the build of the solution, various tests, unit, integration, load, performance, static and dynamic, creates documentation, simulates or even prepares the deploy, eventually even opens tickets of bug.

A competitor talks about IC in Portuguese.

Article by IBM.

About Travis CI in Portuguese.

  • I found very useful the way to explain and the warning that continuous integration may not be beneficial. + 1

  • When it is said that it is a whole set of tests and not only unitary, I believe that it makes sense to include in particular the integration tests.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.