fix(ci): job容器路径对宿主机daemon不可见, Maven构建改用 docker cp 流式传文件
deploy-test / build-and-deploy-test (push) Successful in 2m45s
deploy-test / build-and-deploy-test (push) Successful in 2m45s
This commit is contained in:
@@ -39,20 +39,25 @@ jobs:
|
|||||||
echo "SSH 密钥就绪"
|
echo "SSH 密钥就绪"
|
||||||
|
|
||||||
- name: Build jar (Maven + JDK21 in docker, 带依赖缓存卷)
|
- name: Build jar (Maven + JDK21 in docker, 带依赖缓存卷)
|
||||||
|
# 注意: job 容器内的路径对宿主机 daemon 不可见, 不能用 -v "$PWD" 挂载;
|
||||||
|
# 用 docker cp 流式传文件(与 build context 同机制)
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
docker volume create tianai-maven-cache >/dev/null 2>&1 || true
|
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 \
|
docker rm -f mvnbuild 2>/dev/null || true
|
||||||
maven:3.9-eclipse-temurin-21 mvn -q package -DskipTests
|
docker run -d --name mvnbuild -v tianai-maven-cache:/root/.m2 -w /ws \
|
||||||
ls -la tianai-captcha-platform/target/*.jar
|
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
|
- name: Build & push image
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
SHA=$(echo "$GITHUB_SHA" | cut -c1-8)
|
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 build -t $IMAGE:test -t $IMAGE:sha-$SHA tianai-captcha-platform
|
||||||
docker push $IMAGE:test
|
docker push $IMAGE:test
|
||||||
docker push $IMAGE:sha-$SHA
|
docker push $IMAGE:sha-$SHA
|
||||||
|
|||||||
Reference in New Issue
Block a user