Travis CI
-
Медіафайли у Вікісховищі
Travis CI — розподілений вебсервіс для тестування програмного забезпечення. Інтегрується з GitHub (власне для нього і був розроблений першопочатково), і програмна частина сервісу теж розміщена на GitHub[2]. Самі розробники рекомендують не застосовувати дане рішення в закритих проектах[3].
Кілька проектів вищого рівня з відкритим кодом використовують його для запуску збірок і тестів на кожному коміті, серед них такі як Plone, Ruby on Rails, і Ruby[4][5][6]. На грудень 2013, більше 8056 JavaScript-проектів використовували цю систему[7].
Мови програмування, що підтримуються
C, C++, C#, Clojure, Crystal, D, Dart, Elm, Elixir, Erlang, F#, Generic, Go, Groovy, Haskell, Haxe, Java, JavaScript(з Node.js), Julia, Minimal, Nix, Objective-C, Perl (Perl 6), PHP, Python, R, Ruby, Rust, Scala, Smalltalk, Swift, Visual Basic[8].
Підтримка сервісів
Підтримує велику кількість сторонніх програм і скриптів (git, docker, hubdocker, bash), а також безліч можливостей для розміщення (деплою) збірок на різні Хмаркові сервіси (Cloud Services):
- Anynines
- Atlas
- AWS Codedeploy
- AWS Elastic Beanstalk
- AWS Lambda
- AWS Opsworks
- AWS S3
- Azure Web Apps
- Bintray
- Bitballoon
- Bluemix Cloudfoundry
- Boxfuse
- Catalyze
- Chef Supermarket
- Cloud 66
- Cloudfoundry
- Cargo
- Deis
- Engine Yard
- Github Pages
- Github Releases
- Google App Engine
- Google Cloud Storage
- Google Firebase
- Hackage
- Heroku
- Launchpad
- Npm
- Openshift
- Packagecloud
- Puppet Forge
- Pypi
- Rackspace Cloud Files
- Rubygems
- Scalingo
- Script
- Snap Store
- Surge
- Testfairy
Важлива можливість, підтримка шифрованих змінних і шифрованих файлів, що знаходяться у репозиторії проекту. Це необхідно для складання або поставки додатків на сервер, щоб не турбуватися про те, що паролі до БД або інші таємні дані можуть стати не таємними.
Налаштування
Travis CI налаштовується шляхом додавання файлу з ім'ям .travis.yml, який є текстовим файлом формату YAML, до кореневого каталогу сховища. Цей файл визначає мову програмування, яку використовує проект, бажане середовище побудови та тестування (включаючи залежності, які повинні бути встановлені до того, як програмне забезпечення може бути побудовано та перевірено), а також інші параметри, які наприклад залежать від мови програмування проекту[9].
Принцип роботи
Орієнтовні етапи:
- Розробники після локальної перевірки, відправлять зміни до загального репозиторію.
- Репозиторій відправляє запит вебхук (webhook) системі CI.
- CI-сервер з допомогою воркера (worker) запускає завдання (тести, покриття, перевірку синтаксису і т.д.).
- CI-сервер зберігає артефакти і випускає реліз(release) для тестування.
- У разі виникнення помилок (збірки або тестування) CI-сервер сповіщає команду, цикл повторюється.
Примітки
- ↑ Travis CI LICENSE. Архів оригіналу за 29 липня 2018. Процитовано 17 січня 2019.
- ↑ travis-ci (Travis CI). Архів оригіналу за 22 березня 2019. Процитовано 17 січня 2019.
- ↑ What is Travis CI#We Are Not Done Yet [Архівовано 27 березня 2017 у Wayback Machine.] (2019)
- ↑ Plone developer documentation. Архів оригіналу за 19 жовтня 2013. Процитовано 2 червня 2013.
- ↑ Manuel Pais (23 лютого 2012). Travis CI Announces Support for Java and Plans for Travis Pro. InfoQ. Архів оригіналу за 25 лютого 2012. Процитовано 27 травня 2012.
- ↑ Rails now tested on Travis CI. Архів оригіналу за 19 травня 2012. Процитовано 27 травня 2012.
- ↑ Tim Heckel (18 лютого 2013). Meet Travis CI: Open Source Continuous Integration. InfoQ. Архів оригіналу за 23 липня 2013. Процитовано 28 червня 2013.
- ↑ Travis documentation. Архів оригіналу за 28 лютого 2015. Процитовано 27 лютого 2015.
- ↑ Customizing the Build. Архів оригіналу за 17 січня 2019. Процитовано 18 січня 2019.
Див. також
![]() | Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |