Ubuntu 20.04 LTS 这是我的极其简单的 Dockerfile:
FROM maven:3.6.3-jdk-11 as build
COPY src/ /usr/src/myapp/src
COPY pom.xml /usr/src/myapp
RUN mvn -X -f /usr/src/myapp/pom.xml package
FROM tomcat:9.0-alpine
COPY --from=build /usr/src/myapp/target/untitled1-1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
我尝试了几个项目,结果相同,管道将构建 mvn 并移动到 docker 构建,并卡在从中央下载的不同部分,最终超时
image: docker:latest
services:
- docker:19.03.15-dind
variables:
#DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
stages:
- build
- package
maven-build:
image: maven:3.6.3-jdk-11
stage: build
script: "mvn package -B"
artifacts:
paths:
- target/*.war
docker-build:
stage: package
script:
- docker info
- docker build -t registry:4567/root/sample .
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry:4567
- docker push registry:4567/root/sample
尝试了不同的图像,但最终都停留在 docker 内部下载,不知道从哪里解决这个问题。
答案1
好吧,我找到了两个解决方案,要么使用 gitlab 应用程序安装 gitlab-runner,要么使用 helm chart 安装 gitlab runner,然后从 /etc/gitlab/ssl 中的 .crt 创建一个秘密,这有助于下一步:)