如何在CircleCI 2.0上配置顺序工作流程?

3
我已经在.react-native项目的.circleci/目录下添加了一个config.yml文件,以配置构建流程。但是在我的CircleCI 2.0服务器上,虽然testandroid也是整个工作流配置的一部分,但只有第一个build作业运行。
我按照这里的workflow configuration guide配置了一个顺序工作流。
我确认我的CI服务器正在使用以下配置文件:
问题:
如何在CircleCI 2.0上配置顺序工作流?
repo中的config.yml文件:
# Javascript Node CircleCI 2.0 configuration file
    #
    # Check https://circleci.com/docs/2.0/language-javascript/ for more details
    #
    version: 2
    machine:
      environment:
        PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"

    dependencies:
      override:
        - yarn
        - jest
      cache_directories:
        - ~/.cache/yarn
        - ~/.cache/jest

    build:
      override:
        - yarn install



    jobs:
       build:
        working_directory: ~/repo
        docker:
          - image: circleci/node:8
        steps:
          - checkout
          - run: yarn install
          - persist_to_workspace:
              root: ~/repo
              paths:
                - node_modules  
        test:
          working_directory: ~/repo
          docker:
            - image: circleci/node:8.9.0
          steps:
            - checkout
            - run: yarn install
            - run: npm test
            - persist_to_workspace:
                root: ~/repo
                paths:
                  - node_modules         
        android:
          working_directory: ~/repo/android
          docker:
            - image: circleci/android:api-27-node8-alpha
          steps:
            - checkout:
                path: ~/repo
            - attach_workspace:
                at: ~/repo
            - run: bundle install
            #- run: bundle exec fastlane test
            - store_test_results:
              path: ~/root/android/reports


    workflows:
      version: 2
      node-android:
        jobs:
          - build:
              filters:
                tags:
                  ignore: /^testing
          - test   
              requires:
                - test
          - android:
              requires:
                - test
                - build

1
首先请查看此文档(https://circleci.com/docs/2.0/configuration-reference/)。此配置文件结合了CircleCI 1.0和2.0语法。您需要删除顶部附近的所有1.0语法,即依赖项部分。 - FelicianoTech
@FelicianoTech 我会看一下,我最初添加依赖项是因为 yarn install 命令无法工作并默认使用 npm install。 - Brian Var
@FelicianoTech 我已经让工作流运行起来了,但是注意到在 Android 任务中找不到环境变量的问题,你有什么建议吗?https://stackoverflow.com/questions/49163104/how-to-resolve-term-not-set-on-gradlew-assemblerelease-on-circleci - Brian Var
1个回答

0
我通过删除CI 1.0语法来修复了工作流程,正如@FelicianoTech提到的那样。这个YAML片段不是2.0版本的CircleCI语法。
machine:
      environment:
        PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"

    dependencies:
      override:
        - yarn
        - jest
      cache_directories:
        - ~/.cache/yarn
        - ~/.cache/jest

    build:
      override:
        - yarn install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接