Używanie Travis CI do testowania skryptów powłoki Uniksa
Background:
Używam Travis CI dla moich projektów PHP i bardzo podoba mi się, jak dają ci link do zdjęcia, które pokazuje status aktualnej kompilacji twojego projektu.
Obecnie tworzę wiele narzędzi wykorzystujących skrypty powłoki Uniksa i chciałbym używać Travis CI do testowania moich skryptów uniksowych.
Przeszukałem internet, próbując dowiedzieć się, jak to osiągnąć. Wszedłem na stronę główną, przeszukałem Stackoverflow, a także zrobiłem trochę Wyszukiwanie w Google.
Wygląda na to, że to niemożliwe.
Obecnie używam shunit2 do testowania skryptów i funkcji powłoki.
Moje pytanie brzmi:
- Czy Można używać Travis CI do testowania skryptów powłoki?
- Jeśli nie są jakieś alternatywy, które mógłbym użyć tej wtyczki do Githuba?
- jaki jest najlepszy sposób na testowanie integracji skryptów powłoki?
3 answers
Absolutnie.
Zrobiłem prosty test tutaj: https://travis-ci.org/soulseekah/test-shunit2-travis
Mój plik .travis.yml
to:
language: bash
before_script:
- curl -L "http://downloads.sourceforge.net/shunit2/shunit2-2.0.3.tgz" | tar zx
script:
- bash equality_test.sh
Repozytorium: https://github.com/soulseekah/test-shunit2-travis
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
2013-12-08 06:35:15
Zwinąłem wszystko do pliku Makefile i wywołałem make test
...
language: bash
script: make test
Używam assert.sh , więc nie było potrzeby before_script
. Możesz to sprawdzić na https://github.com/wmluke/dokku-domains-plugin .
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
2014-01-27 08:17:26
Jeśli potrzebujesz najnowszej wersji shUnit2, być może będziesz musiał pobrać ją z gałęzi master.
Działa tak:
---
language: bash
before_script: "sudo curl -o /usr/local/bin/shunit2 https://raw.githubusercontent.com/kward/shunit2/master/shunit2"
script: "bash shunit2/test_example.sh"
Zobacz także mój przykład repo tutaj .
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-09-18 05:39:12