Próbuje zrozumieć, co robi Travis CI i kiedy powinien być stosowany

Jestem zupełnie nowy w Git i planuję przyczynić się do jakiegoś projektu open-source na Githubie po odkryciu małego błędu w nim. Po rozwidleniu go i naprawieniu błędu, zamierzyłem pull request i zauważyłem, że to się pojawia:

Failed-nie powiodła się budowa Travis CI

Patrząc na szczegóły odkryłem, że jest to spowodowane przez Could not find .travis.yml, co miało sens, ponieważ nie zalogowałem się do Travis Cl with and add .travis.yml do repozytorium.

To jest pierwszy raz słyszę o Travisie i czymś, co jest znane jako ciągła integracja. I brzmi całkiem fajnie, więc aby dowiedzieć się więcej na ten temat, sprawdziłem to na Wikipedii.

Travis CI to hostowana, rozproszona usługa ciągłej integracji służy do budowania i testowania projektów hostowanych na Githubie. Travis CI automatycznie wykrywa, kiedy commit został wykonany i wypchnięty do repozytorium GitHub, które używa Travis CI, i za każdym razem, gdy tak się stanie, będzie próbował {14]}zbudować projekt i przeprowadzić testy . Obejmuje to commity do wszystkich gałęzi, nie tylko do gałęzi master.

Moje obecne rozumienie Travis CI jest takie, że to, co robi, automatycznie popycha projekt na git commit -am ".." i nie do końca rozumiem jego część.

  1. Przez budowanie projektu i uruchamianie testów , jakie testy będą uruchamiane? A jak to będzie "budować" projekt? (jak skompilowanie go do binarnego?)

  2. Stwierdza, że " obejmuje to commit to all branches" - ale co jeśli nie chcę commit to all branches?

  3. Mogę w ogóle nie używać Travis Cl? W jakich okolicznościach najlepiej go używać (lub należy go używać)?

Author: trying to figure it out, 2014-03-23

2 answers

Najprostszym wyjaĹ "nieniem Travis CI jest to, Ĺźe uruchamia testy Twojego programu za kaĹźdym razem, kiedy Ĺ "wiadczysz usĹ' ugi na Githubie (moĹźna to skonfigurowaÄ ‡ na wiele sposobĂłw i zawsze moĹźna wyĹ 'Ä ... czyÄ ‡ buildy na niektĂłrych GaĹ' Ä ™ ziach). Chodzi o to, że często możesz bardzo szybko odkryć, czy twój commit coś zepsuł i naprawić to, zanim stanie się to problemem. Polecam uruchamianie Travis CI na każdym repo GitHub, w którym masz testy jednostkowe i używasz języka programowania obsługiwanego przez Travis CI. Od ustawienia up Travis CI jest bardzo łatwy, normalnie nie widzę dobrego powodu, aby go nie używać, chyba że nie obchodzi cię, czy masz zdane testy w swoim programie, czy nie. Jeśli masz więcej pytań, możesz zostawić komentarz. Możesz przeczytać więcej o Travis CI tutaj.

 73
Author: joshua-anderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-11 06:52:52

Ponieważ już odkryłeś, co to jest Travis-CI, chciałbym bezpośrednio wskazać na pytania, które masz.

Budując projekt i uruchamiając testy, jakie testy będą uruchamiane? A jak to będzie "budować" projekt? (jak skompilowanie go do binarnego?)

W pliku .travis.yml określasz SYSTEM OPERACYJNY, język programowania, gałąź repo, nazwę pliku projektu i inne szczegóły. Czytając ten plik, Travis-CI użyje specyficznych kompilatorów, które zainstalowane na ich serwerze, aby skompilować nasz kod. Prawdopodobnie będą one miały taki sam mechanizm jak my w przypadku Githuba. Po raz pierwszy mogą pobrać kod [jeśli mamy określone gałęzie, mogą pobrać kod tylko z tych gałęzi]. Ponadto, uwierzytelniliśmy się, aby używać naszego konta z Travis-CI, za każdym razem, gdy robimy commit, powinno być jakieś powiadomienie, które powinno wystrzelić na serwer Travis-CI, więc zostanie ono rozpoznane jako commit i rozpocznie kompilację.


Stwierdza, że "obejmuje to commity dla wszystkich gałęzi" - ale co jeśli nie chcę tego robić dla wszystkich gałęzi?

Możesz określić różne gałęzie lub gałęzie master. I powinien kompilować tylko konkretne gałęzie określone w pliku .travis.yml.


Czy Mogę w ogóle nie używać Travis Cl? W jakich okolicznościach najlepiej go używać (lub należy go używać)?
Tak, w porządku. Nic wielkiego. Ale jakie korzyści będzie Ci brakować nie korzystanie z tego łatwego do zintegrowania silnika z repo. Za każdym razem, gdy zatwierdzasz commit, może być możliwe, że coś przeoczy i nie będzie mógł się skompilować z powodu kodu. Skąd wiesz? Dlatego powinieneś użyć Travis-CI.

napisałem blog post, który możesz przeczytać, aby wiedzieć, co to jest Travis-CI, ciągłe integracje i jak połączyć Travis-CI z Twoim repo Github. Napisałem go dla repozytorium Swift.

 12
Author: Hemang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-05 04:37:21