2017-10-05 22 views
2

Github Repository StructureCircleCI: Définir le répertoire de travail dans le fichier .yml pour plusieurs projets sur la même référentiel

Il y a un projet android dans le répertoire V1. Je veux exécuter la vérification de la charpie et stocker les artefacts en utilisant le fichier circle.yml. J'ai mon fichier circle.yml dans le répertoire racine (e.i repository/Android) de GitHub repo. J'ai 3 branches pour le projet Android V1 e.i Master, QA et Développer.

Ci-dessous se trouve mon fichier yml pour développer une branche.

version: 2 
jobs: 
    build_develop: 
    working_directory: ~/code 
    docker: 
     - image: circleci/android:api-25-alpha 
    environment: 
     JVM_OPTS: -Xmx3200m 
    steps: 
     - checkout: 
      path: ~/V1 
     - restore_cache: 
      key: jars-{{ checksum "V1/build.gradle" }}-{{ checksum "V1/app/build.gradle" }} 
     - run: 
      name: Download Dependencies 
      command: ./V1/gradlew androidDependencies 
     - save_cache: 
      paths: 
      - ~/.gradle 
      key: jars-{{ checksum "V1/build.gradle" }}-{{ checksum "V1/app/build.gradle" }} 
     - run: 
      name: Run lint 
      command: | 
      ./gradlew lintDebug 
     - store_artifacts: 
      path: app/build/reports 
      destination: reports/ 
     - run: 
      name: Run build 
      command: | 
      ./gradlew assembleDebug 
     - store_artifacts: 
      path: app/build/outputs/apk 
      destination: apks/ 

workflows: 
    version: 2 

    build_app: 
    jobs: 
     - build_develop: 
      filters: 
      branches: 
       only: 
       - develop 

Il donne l'erreur comme ci-dessous dans le tableau de bord CircleCI construire,

Error of build

Je pense, je l'ai fait une erreur dans la mise working_directory: chemin et de départ: chemin :. Je ne sais pas comment définir le chemin correct pour ce scénario.

Merci d'avance.

Répondre

2

Ici, la structure du projet contient déjà le dossier V1. Lors de la vérification, vous créez à nouveau le dossier V1 dans le dossier de code pour vérifier. Nous pouvons résoudre ce problème en supprimant le chemin Checkout comme ci-dessous.

steps: - checkout - restore_cache: key: jars-{{ checksum "V1/build.gradle" }}-{{ checksum "V1/app/build.gradle" }}