fix(ci): job容器路径对宿主机daemon不可见, Maven构建改用 docker cp 流式传文件
deploy-test / build-and-deploy-test (push) Successful in 2m45s

This commit is contained in:
abcv7
2026-08-26 10:06:12 +08:00
parent 236ff19413
commit cb122b5b07
+11 -6
View File
@@ -39,20 +39,25 @@ jobs:
echo "SSH 密钥就绪"
- name: Build jar (Maven + JDK21 in docker, 带依赖缓存卷)
# 注意: job 容器内的路径对宿主机 daemon 不可见, 不能用 -v "$PWD" 挂载;
# 用 docker cp 流式传文件(与 build context 同机制)
run: |
set -e
docker volume create tianai-maven-cache >/dev/null 2>&1 || true
docker run --rm -v "$PWD":/ws -v tianai-maven-cache:/root/.m2 -w /ws \
maven:3.9-eclipse-temurin-21 mvn -q package -DskipTests
ls -la tianai-captcha-platform/target/*.jar
docker rm -f mvnbuild 2>/dev/null || true
docker run -d --name mvnbuild -v tianai-maven-cache:/root/.m2 -w /ws \
maven:3.9-eclipse-temurin-21 sleep infinity
docker cp "$GITHUB_WORKSPACE/." mvnbuild:/ws/
docker exec mvnbuild mvn -q package -DskipTests
docker cp mvnbuild:/ws/tianai-captcha-platform/target/tianai-captcha-platform-2.0.0-SNAPSHOT.jar \
"$GITHUB_WORKSPACE/tianai-captcha-platform/tianai-captcha-platform-2.0.0-SNAPSHOT.jar"
docker rm -f mvnbuild
ls -la tianai-captcha-platform/*.jar
- name: Build & push image
run: |
set -e
SHA=$(echo "$GITHUB_SHA" | cut -c1-8)
# Dockerfile 约定 jar 在构建上下文根目录
cp tianai-captcha-platform/target/tianai-captcha-platform-*.jar \
tianai-captcha-platform/tianai-captcha-platform-2.0.0-SNAPSHOT.jar
docker build -t $IMAGE:test -t $IMAGE:sha-$SHA tianai-captcha-platform
docker push $IMAGE:test
docker push $IMAGE:sha-$SHA