我想在 Gitlab 中运行 Testontainers 来测试 Spring Boot 应用程序。创建 Gitlab 运行程序后(更改了 URL 和令牌):
sudo gitlab-runner register -n \
--url https://gitlab.com/ \
--registration-token REGISTRATION_TOKEN \
--executor docker \
--description "My Docker Runner" \
--docker-image "docker:19.03.12" \
--docker-privileged \
--docker-volumes "/certs/client"
Run Code Online (Sandbox Code Playgroud)
我写了一个简单的 ci 管道:
stages:
- test
services:
- docker:19.03.12-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
test:
stage: test
image: amazoncorretto:11
script:
- java -version
- chmod +x gradlew
- ./gradlew test
tags:
- docker-dind
Run Code Online (Sandbox Code Playgroud)
测试看起来像:
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait; …Run Code Online (Sandbox Code Playgroud)