Gitlab-ci docker inside java image
Gitlab-ci docker inside java image
要使用集成测试库 https://www.testcontainers.org/" 我需要同时安装 java 和 docker 的图像。
我正在尝试使用这个阶段:
test:
stage: test
image: gradle:jdk16
services:
- docker:latest
script:
- docker --version
- chmod +x ./gradlew
- export GRADLE_USER_HOME=`pwd`/.gradle
- ./gradlew test --stacktrace
rules:
- !reference [.rules_merge_request, rules]
但是不起作用:
$ docker --version
/scripts-33119345-2089057982/step_script: line 154: docker: command not found
有什么帮助吗?
图像 gradle:jdk16
不包含 docker 客户端。你必须在你的工作中安装它。此外,您需要在 services:
配置中使用服务 docker:dind
(而非 docker:latest
)
test:
stage: test
image: gradle:jdk16
services:
- docker:dind # use the docker-in-docker image
before_script: # install docker
- apt update && apt install --no-install-recommends -y docker.io
script:
- docker --version
运行 在 gitlab.com 个跑步者上,你应该看到这样的输出:
要使用集成测试库 https://www.testcontainers.org/" 我需要同时安装 java 和 docker 的图像。
我正在尝试使用这个阶段:
test:
stage: test
image: gradle:jdk16
services:
- docker:latest
script:
- docker --version
- chmod +x ./gradlew
- export GRADLE_USER_HOME=`pwd`/.gradle
- ./gradlew test --stacktrace
rules:
- !reference [.rules_merge_request, rules]
但是不起作用:
$ docker --version
/scripts-33119345-2089057982/step_script: line 154: docker: command not found
有什么帮助吗?
图像 gradle:jdk16
不包含 docker 客户端。你必须在你的工作中安装它。此外,您需要在 services:
配置中使用服务 docker:dind
(而非 docker:latest
)
test:
stage: test
image: gradle:jdk16
services:
- docker:dind # use the docker-in-docker image
before_script: # install docker
- apt update && apt install --no-install-recommends -y docker.io
script:
- docker --version
运行 在 gitlab.com 个跑步者上,你应该看到这样的输出: