CircleCI运行JUnit测试编译的工件

时间:2017-05-10 14:03:47

标签: java gradle junit circleci

我在CircleCI中使用Gradle构建了一个java项目。这个java项目完全由Selenium测试+框架组成,它使用SauceLabs在预先存在的环境中运行。我想把我正在生成的工件(jar文件)和其他团队用来运行我的测试作为他们自己的预部署测试过程的一部分,但我不知道如何实现这一点。 / p>

在CircleCI的jar文件上运行JUnit测试的yaml文件是什么样的?我花了很多时间在网上寻找答案,我似乎无法找到满足这个用例的任何东西。

1 个答案:

答案 0 :(得分:0)

我终于想出了如何做到这一点。以下是我的circle.yml文件的一些摘录。

  1. 在自动化项目中生成并保存工件。
  2. add_custom_command
    1. 在其他一些构建项目中下载这些工件
    2. compile:
        post:
          - ./gradlew shadowJar
          - mkdir -p $CIRCLE_ARTIFACTS/build/libs
          - cp build/libs/* $CIRCLE_ARTIFACTS/build/libs
      
      1. 执行测试
      2. dependencies:
          pre:
            # Install JQ - used when fetching automation artifacts
            - sudo apt-get update; sudo apt-get install jq
            - curl "https://circleci.com/api/v1.1/project/github/:org/:project/latest/artifacts?build=master&filter=successful&circle-token=$TOKEN" >> artifacts.txt
            - mkdir -p $HOME/automation
          post:
            # Fetch our UI automation jar
            - echo export ART_URL=$(cat artifacts.txt | jq '[.[]? | select(.url | contains("automation-ui-all.jar"))][0] | .url') >> $HOME/.circlerc
            - wget -O $HOME/automation/automation-ui-all.jar $ART_URL?circle-token=$TOKEN