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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在CircleCI 2.0上配置顺序工作流?相关的知识,希望对你有一定的参考价值。

我已将config.yml文件添加到.circleci /目录中的react-native项目,以便配置构建管道。

但是在我的CircleCI 2.0服务器中只有第一份工作,build运行而testandroid不运行,尽管它们是整个工作流配置的一部分。

我按照https://circleci.com/docs/2.0/workflows/的工作流程配置指南来配置顺序工作流程。

我确实验证了我的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
答案

我通过将CI 1.0语法删除为@FelicianoTech mentioend来修复工作流程,这段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

以上是关于如何在CircleCI 2.0上配置顺序工作流?的主要内容,如果未能解决你的问题,请参考以下文章

Circle Ci:第二份工作从未开始过?

apache_conf Phoenix项目的CircleCI 2.0配置

CircleCI 2.0 Android 构建总是失败

apache_conf CircleCI 2.0配置,用于从PHPUnit到Code Climate获取代码覆盖率

在 CircleCI 2.0 中使用 `yarn`

用于公共存储库的 CircleCI 2.0 私有环境密钥