web-dev-qa-db-fra.com

Utilisation de Travis CI pour tester des scripts UNIX Shell

Contexte:

J'utilise Travis CI pour mes projets PHP et j'aime beaucoup la façon dont ils vous donnent un lien vers une image indiquant le statut de la version actuelle de votre projet.

Je conçois actuellement de nombreux outils à l'aide de scripts UNIX Shell et j'aimerais utiliser Travis CI pour tester mes scripts UNIX. 

J'ai cherché sur Internet en essayant de trouver comment y parvenir. Je suis allé sur le site Web principal, j'ai fait une recherche sur Stackoverflow et j'ai fait quelques recherches sur Google.

Il semble que ce n'est pas possible.

J'utilise actuellement shunit2 pour tester mes scripts et fonctions Shell.

Ma question (s) est/sont:

  1. Est-il possible d'utiliser Travis CI pour tester des scripts Shell?
  2. Sinon, y a-t-il des alternatives que je pourrais utiliser avec GitHub?
  3. Quel est le meilleur moyen d'effectuer des tests d'intégration sur les scripts Shell?
29
Dodzi Dzakuma

Absolument.

J'ai fait un test simple ici: https://travis-ci.org/soulseekah/test-shunit2-travis

Mon fichier .travis.yml est:

language: bash

before_script:
    - curl -L "http://downloads.sourceforge.net/shunit2/shunit2-2.0.3.tgz" | tar zx

script:
    - bash equality_test.sh

Référentiel: https://github.com/soulseekah/test-shunit2-travis

37
soulseekah

J'ai tout mis dans un Makefile puis appelé make test...

language: bash
script: make test

J'utilise assert.sh , le before_script n'était donc pas nécessaire. Vous pouvez le vérifier à https://github.com/wmluke/dokku-domains-plugin .

10
wmluke

Si vous avez besoin de la dernière version de shUnit2, vous devrez peut-être vous en procurer une auprès de la branche principale.

Je l'ai eu comme ça:

---
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"

Voir aussi mon exemple shunit2 repo ici .

1
Alex Harvey