2

我正在尝试使用 gradle (wrapped) 和 gitlab-ci 构建一个 kotlin 库。如果我在我的机器上执行命令一切正常,但 gitlab-ci 测试作业并没有结束并且正在等待Task :test

我正在使用受此示例启发的基本 gitlab-ci 。

image: gradle:5.6.2-jdk8

stages:
  - build
  - test

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

build-latest:
  stage: build

  script:
    - ./gradlew assemble

  only:
    - master
    - tags

test:
  stage: test

  script:
    - ./gradlew check

那是 gitlab-ci ( 12.2.5 ) 输出

Running with gitlab-runner 12.2.0 (a987417a)
  on autoscale-runner eaccdfe9
Using Docker executor with image gradle:5.6.2-jdk8 ...
Pulling docker image gradle:5.6.2-jdk8 ...
Using docker image sha256:5eacc675d8626e3db6a6c4030fc817113f536f565ecd23b7f5aec7e5e5bfcc53 for gradle:5.6.2-jdk8 ...
Running on runner-eaccdfe9-project-769-concurrent-0 via runner-eaccdfe9-autoscale-1570629641-a91eb9db...
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/platform/libraries/kafka2rest/.git/
Checking out 69a3b20e as master...
Removing .gradle/
Removing build/

Skipping Git submodules setup
Checking cache for default-1...
Downloading cache.zip from http://10.164.0.3:9000/runner/runner/eaccdfe9/project/769/default-1 
Successfully extracted cache
$ export GRADLE_USER_HOME=`pwd`/.gradle
$ ./gradlew -v

Welcome to Gradle 5.6.2!

Here are the highlights of this release:
 - Incremental Groovy compilation
 - Groovy compile avoidance
 - Test fixtures for Java projects
 - Manage plugin versions via settings script

For more details see https://docs.gradle.org/5.6.2/release-notes.html


------------------------------------------------------------
Gradle 5.6.2
------------------------------------------------------------

Build time:   2019-09-05 16:13:54 UTC
Revision:     55a5e53d855db8fc7b0e494412fc624051a8e781

Kotlin:       1.3.41
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM:          1.8.0_222 (AdoptOpenJDK 25.222-b10)
OS:           Linux 4.15.0-1044-gcp amd64

$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
$ ./gradlew check
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileKotlin
> Task :compileJava NO-SOURCE
> Task :processResources
> Task :classes

> Task :compileTestKotlin

> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test 

这有什么问题?有没有使用 gradle 和 gitlab-ci 构建 kotlin 的标准或模板?

编辑 我找到了待处理的测试套件。它包含 3 个测试,它们中的任何一个都创建具有相同start()方法的控制器的新实例。该start()方法启动一个新线程。如果只运行一个测试,它可以成功终止 gitlab-ci,如果两个或多个测试运行它不会,它仍然处于挂起状态。在测试中我使用信号量。测试仍然在本地工作。

4

0 回答 0