web-dev-qa-db-fra.com

Comment spécifier un dossier de construction dans Travis?

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.

43
Крис

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
11
Odi

Vous pouvez également essayer d’ajouter la ligne suivante dans votre fichier .travis.yml file:

before_script: cd project
101
iOSCowboy

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é ????

35
Lxrd-AJ

Ajouter ci-dessous sur votre fichier .travis.yml devrait le faire: 

before_script: cd <project_name>
script:
  - sbt compile
  - sbt test
0
SanjeevGhimire