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:

  1. Czy Można używać Travis CI do testowania skryptów powłoki?
  2. Jeśli nie są jakieś alternatywy, które mógłbym użyć tej wtyczki do Githuba?
  3. jaki jest najlepszy sposób na testowanie integracji skryptów powłoki?
Author: Alex Harvey, 2013-12-08

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

 34
Author: soulseekah,
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 .

 10
Author: wmluke,
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 .

 0
Author: Alex Harvey,
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