CircleCI:在.yml文件中为同一存储库

时间:2017-10-05 05:28:13

标签: android github continuous-integration circleci schema.yml

Github Repository Structure

V1目录中有一个android项目。我想使用circle.yml文件运行lint检查和存储工件。我在GitHub repo的根目录(e.i repository / Android)中有我的circle.yml文件。我有1个分支用于V1 Android项目e.i Master,QA和Develop。

下面是我的开发分支的yml文件。

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

它在CircleCI构建仪表板中给出如下错误,

Error of build

我想,我在设置working_directory时遇到了一些错误:路径和结帐:路径:我不知道如何为这种情况设置正确的路径。

提前致谢。

1 个答案:

答案 0 :(得分:2)

这里,项目结构已经有V1文件夹。在结账时,您将在代码文件夹中再次创建V1文件夹以进行检出。我们可以通过删除Checkout路径来解决此问题。

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