J'ai un référentiel github user/repo
mais le projet réel est dans un sous-dossier user/repo/project/build.sbt
Que dois-je écrire dans le .travis.yml
pour que Travis ignore le dossier principal et travaille uniquement dans le dossier du projet?
Inspiré par ceci j’ai essayé ce qui suit ne fonctionnait pas:
env:
global:
- REPO="user/repo"
- CI_HOME=`pwd`/$REPO
script: sh -c 'cd $CI_HOME/project' && sbt ++$TRAVIS_SCALA_VERSION package
Journal d'erreur:
$ sh -c 'cd $CI_HOME/project' && sbt ++$TRAVIS_SCALA_VERSION package
Detected sbt version 0.12.2-RC1
/home/travis/build/user/repo doesn't appear to be an sbt project.
Idéalement, il devrait exister un moyen de spécifier le dossier de construction mais de laisser Travis gérer la commande de construction.
Il suffit d'écrire un script Shell et l'utiliser pour construire votre projet. Assurez-vous que cela fonctionne localement ... Quelque chose comme ça devrait faire l'affaire:
build.sh
:
#!/bin/sh
cd $TRAVIS_BUILD_DIR/project
sbt ++$TRAVIS_SCALA_VERSION package
.travis.yml
:
script: build.sh
Vous pouvez également essayer d’ajouter la ligne suivante dans votre fichier .travis.yml file:
before_script: cd project
J'ai essayé d'utiliser ceci dans mon fichier travis.yml mais cela n'a pas fonctionné
before_script: cd project
Puis j'ai essayé ça
before_install: cd project
Et ça a marché ????
Ajouter ci-dessous sur votre fichier .travis.yml devrait le faire:
before_script: cd <project_name>
script:
- sbt compile
- sbt test