新增工作流3
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Failing after 1m54s
Some checks failed
Build and Push to Target Registry / 构建并推送镜像到目标仓库 (push) Failing after 1m54s
This commit is contained in:
parent
9d12fc7fdd
commit
be52875780
@ -1,12 +1,13 @@
|
||||
name: Build and Push to Docker Registry
|
||||
name: Build and Push to Target Registry
|
||||
|
||||
# 监听master分支的推送事件
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
name: 构建并推送镜像到Docker Registry
|
||||
name: 构建并推送镜像到目标仓库
|
||||
runs-on: ubuntu
|
||||
timeout-minutes: 30
|
||||
|
||||
@ -20,30 +21,20 @@ jobs:
|
||||
run: |
|
||||
echo "===== 开始Maven构建 ====="
|
||||
/maven/apache-maven-3.9.11/bin/mvn clean package -DskipTests
|
||||
|
||||
echo "===== Maven构建完成 ====="
|
||||
|
||||
- name: 构建并推送Docker镜像
|
||||
env:
|
||||
# 目标仓库地址(你的新建仓库)
|
||||
# 替换为你的Docker Registry地址(例如:localhost:5000 或 192.168.1.100:5000)
|
||||
TARGET_REGISTRY: 127.0.0.1:5000
|
||||
# 目标仓库中的项目名称
|
||||
TARGET_PROJECT: smartparks
|
||||
# 基础镜像所在仓库地址(需要认证的仓库)
|
||||
BASE_REGISTRY: 172.100.10.45:3000
|
||||
# 基础镜像仓库的登录凭证(在Gitea secrets中配置)
|
||||
BASE_REGISTRY_USERNAME: ${{ secrets.BASE_REGISTRY_USERNAME }}
|
||||
BASE_REGISTRY_PASSWORD: ${{ secrets.BASE_REGISTRY_PASSWORD }}
|
||||
run: |
|
||||
echo "===== 环境信息 ====="
|
||||
echo "目标仓库: $TARGET_REGISTRY/$TARGET_PROJECT"
|
||||
echo "基础镜像仓库: $BASE_REGISTRY"
|
||||
|
||||
# 关键步骤:先登录到基础镜像仓库(解决401认证问题)
|
||||
echo "===== 登录基础镜像仓库 ====="
|
||||
if ! echo "$BASE_REGISTRY_PASSWORD" | docker login $BASE_REGISTRY -u $BASE_REGISTRY_USERNAME --password-stdin; then
|
||||
echo "错误:登录基础镜像仓库 $BASE_REGISTRY 失败,请检查账户密码"
|
||||
exit 1
|
||||
fi
|
||||
# 【删除登录步骤】因为仓库无认证,无需登录
|
||||
|
||||
echo "===== 查找项目中的Dockerfile ====="
|
||||
dockerfiles=$(find . -type f -name "Dockerfile" ! -path "./.git/*")
|
||||
@ -52,7 +43,7 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 处理每个Dockerfile
|
||||
# 处理每个Dockerfile(后续构建、推送逻辑与之前类似,保持不变)
|
||||
echo "$dockerfiles" | while read -r dockerfile; do
|
||||
echo "===== 处理Dockerfile: $dockerfile ====="
|
||||
|
||||
@ -67,14 +58,13 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "===== 推送镜像到目标仓库 ====="
|
||||
# 目标仓库无认证,直接推送
|
||||
echo "===== 推送镜像到仓库 ====="
|
||||
if ! docker push "$full_image_name"; then
|
||||
echo "错误:推送镜像到目标仓库失败,请检查仓库是否可访问"
|
||||
echo "错误:推送镜像失败,请检查仓库是否可访问"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 推送latest标签
|
||||
# 推送latest标签(逻辑保持不变)
|
||||
latest_image="$TARGET_REGISTRY/$TARGET_PROJECT:$image_tag-latest"
|
||||
echo "===== 推送最新标签: $latest_image ====="
|
||||
docker tag "$full_image_name" "$latest_image"
|
||||
@ -85,6 +75,5 @@ jobs:
|
||||
done
|
||||
|
||||
echo "===== 清理操作 ====="
|
||||
docker logout $BASE_REGISTRY # 退出基础镜像仓库登录
|
||||
docker system prune -f
|
||||
echo "===== 所有操作完成 ====="
|
||||
|
@ -2,7 +2,7 @@
|
||||
#FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
|
||||
#FROM registry.cn-hangzhou.aliyuncs.com/aliyun_openjdk/openjdk:17-jdk-slim
|
||||
#FROM bellsoft/liberica-openjdk-debian:21.0.5-cds
|
||||
FROM 172.100.10.45:3000/by2025/base-images/liberica-openjdk-debian:17.0.11-cds
|
||||
FROM 127.0.0.1:5000/smartparks/base-images/liberica-openjdk-debian
|
||||
#FROM findepi/graalvm:java17-native
|
||||
|
||||
LABEL maintainer="Lion Li"
|
||||
|
Loading…
Reference in New Issue
Block a user