修改基础镜像
This commit is contained in:
parent
a8b21eeaa3
commit
61883eff21
@ -1,3 +1,225 @@
|
|||||||
|
#run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀
|
||||||
|
#on:
|
||||||
|
# push:
|
||||||
|
# branches:
|
||||||
|
# - master
|
||||||
|
#
|
||||||
|
#jobs:
|
||||||
|
# build-parent-pom:
|
||||||
|
# runs-on: ubuntu
|
||||||
|
# steps:
|
||||||
|
# - name: 拉取代码仓库
|
||||||
|
# uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||||
|
#
|
||||||
|
# - name: 配置环境变量(绝对路径)
|
||||||
|
# run: |
|
||||||
|
# export JAVA_HOME="/java17/java17"
|
||||||
|
# export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||||
|
#
|
||||||
|
# if [ ! -f "$JAVA_HOME/bin/java" ]; then
|
||||||
|
# echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
# if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then
|
||||||
|
# echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||||
|
# echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||||
|
# echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||||
|
# echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||||
|
#
|
||||||
|
# "$JAVA_HOME/bin/java" -version
|
||||||
|
# "$MAVEN_HOME/bin/mvn" -v
|
||||||
|
#
|
||||||
|
# - name: 配置Maven仓库
|
||||||
|
# run: |
|
||||||
|
# mkdir -p ~/.m2
|
||||||
|
# cat > ~/.m2/settings.xml << EOF
|
||||||
|
# <?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
# <settings>
|
||||||
|
# <localRepository>/root/.m2/repository</localRepository>
|
||||||
|
# <profiles>
|
||||||
|
# <profile>
|
||||||
|
# <id>multi-repo</id>
|
||||||
|
# <repositories>
|
||||||
|
# <repository>
|
||||||
|
# <id>local-repo</id>
|
||||||
|
# <url>file:///root/.m2/repository</url>
|
||||||
|
# </repository>
|
||||||
|
# <repository>
|
||||||
|
# <id>aliyun-public</id>
|
||||||
|
# <url>https://maven.aliyun.com/repository/public</url>
|
||||||
|
# </repository>
|
||||||
|
# </repositories>
|
||||||
|
# </profile>
|
||||||
|
# </profiles>
|
||||||
|
# <activeProfiles>
|
||||||
|
# <activeProfile>multi-repo</activeProfile>
|
||||||
|
# </activeProfiles>
|
||||||
|
# </settings>
|
||||||
|
# EOF
|
||||||
|
#
|
||||||
|
# - name: 构建主POM(仅本地安装,不上传)
|
||||||
|
# run: |
|
||||||
|
# MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml"
|
||||||
|
# if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then
|
||||||
|
# echo "错误:主POM文件不存在"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# retries=3
|
||||||
|
# count=0
|
||||||
|
# until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do
|
||||||
|
# count=$((count + 1))
|
||||||
|
# if [ $count -ge $retries ]; then
|
||||||
|
# echo "错误:主POM构建失败"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
# sleep 10
|
||||||
|
# done
|
||||||
|
#
|
||||||
|
# # build-common-modules:
|
||||||
|
# # needs: build-parent-pom
|
||||||
|
# # runs-on: ubuntu
|
||||||
|
# # steps:
|
||||||
|
# # - name: 拉取代码仓库
|
||||||
|
# # uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||||
|
#
|
||||||
|
# # - name: 配置环境变量
|
||||||
|
# # run: |
|
||||||
|
# # export JAVA_HOME="/java17/java17"
|
||||||
|
# # export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||||
|
# # echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||||
|
# # echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||||
|
# # echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||||
|
# # echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||||
|
#
|
||||||
|
# # - name: 构建通用模块(仅本地使用,不上传)
|
||||||
|
# # run: |
|
||||||
|
# # COMMON_MODULES=(
|
||||||
|
# # "ruoyi-common"
|
||||||
|
# # "ruoyi-api"
|
||||||
|
# # "ruoyi-common-bom"
|
||||||
|
# # "ruoyi-common-alibaba-bom"
|
||||||
|
# # "ruoyi-api-bom"
|
||||||
|
# # )
|
||||||
|
#
|
||||||
|
# # for module in "${COMMON_MODULES[@]}"; do
|
||||||
|
# # MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
|
||||||
|
# # if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
|
||||||
|
# # echo "警告:模块 $module 不存在,跳过"
|
||||||
|
# # continue
|
||||||
|
# # fi
|
||||||
|
#
|
||||||
|
# # retries=3
|
||||||
|
# # count=0
|
||||||
|
# # until "$MAVEN_HOME/bin/mvn" clean compile install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
|
||||||
|
# # count=$((count + 1))
|
||||||
|
# # if [ $count -ge $retries ]; then
|
||||||
|
# # echo "错误:模块 $module 构建失败"
|
||||||
|
# # exit 1
|
||||||
|
# # fi
|
||||||
|
# # sleep 10
|
||||||
|
# # done
|
||||||
|
# # done
|
||||||
|
#
|
||||||
|
# build-and-push-services:
|
||||||
|
# needs: build-common-modules
|
||||||
|
# runs-on: ubuntu
|
||||||
|
# strategy:
|
||||||
|
# matrix:
|
||||||
|
# service:
|
||||||
|
# - ruoyi-auth
|
||||||
|
# - ruoyi-gateway
|
||||||
|
# - ruoyi-modules/Property
|
||||||
|
# - ruoyi-modules/ruoyi-gen
|
||||||
|
# - ruoyi-modules/ruoyi-job
|
||||||
|
# - ruoyi-modules/ruoyi-resource
|
||||||
|
# - ruoyi-modules/ruoyi-system
|
||||||
|
# - ruoyi-modules/ruoyi-workflow
|
||||||
|
# - ruoyi-modules/Sis
|
||||||
|
# - ruoyi-visual/ruoyi-monitor
|
||||||
|
# - ruoyi-visual/ruoyi-nacos
|
||||||
|
# - ruoyi-seata-server
|
||||||
|
# - ruoyi-sentinel-dashboard
|
||||||
|
# - ruoyi-snailjob-server
|
||||||
|
# steps:
|
||||||
|
# - name: 拉取代码仓库
|
||||||
|
# uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||||
|
#
|
||||||
|
# - name: 配置环境变量
|
||||||
|
# run: |
|
||||||
|
# export JAVA_HOME="/java17/java17"
|
||||||
|
# export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||||
|
# echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||||
|
# echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||||
|
# echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||||
|
# echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||||
|
#
|
||||||
|
# - name: 构建服务模块
|
||||||
|
# run: |
|
||||||
|
# SERVICE_NAME="${{ matrix.service }}"
|
||||||
|
# SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml"
|
||||||
|
# if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then
|
||||||
|
# echo "错误:服务 $SERVICE_NAME 的POM文件不存在"
|
||||||
|
# exit 1
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
|
||||||
|
#
|
||||||
|
# - name: 配置Docker Buildx
|
||||||
|
# uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
|
||||||
|
#
|
||||||
|
# - name: 登录到容器仓库
|
||||||
|
# uses: http://git.missmoc.top/mocheng/login-action@v3
|
||||||
|
# with:
|
||||||
|
# registry: ${{ secrets.REGISTRY_URL }}
|
||||||
|
# username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
# password: ${{ secrets.REGISTRY_PASS }}
|
||||||
|
#
|
||||||
|
# - name: 确定Dockerfile路径
|
||||||
|
# id: dockerfile-path
|
||||||
|
# run: |
|
||||||
|
# SERVICE_NAME="${{ matrix.service }}"
|
||||||
|
# DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile"
|
||||||
|
#
|
||||||
|
# if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then
|
||||||
|
# echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT
|
||||||
|
# else
|
||||||
|
# echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# - name: 构建并推送Docker镜像(仅推送镜像,不上传JAR)
|
||||||
|
# uses: http://git.missmoc.top/mocheng/build-push-action@v5
|
||||||
|
# with:
|
||||||
|
# context: "${{ github.workspace }}"
|
||||||
|
# file: "${{ github.workspace }}/${{ matrix.service }}/Dockerfile"
|
||||||
|
# tags: "172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest"
|
||||||
|
# push: true
|
||||||
|
# cache-from: type=gha
|
||||||
|
# cache-to: type=gha,mode=max
|
||||||
|
#
|
||||||
|
# # 关键配置:允许该仓库使用HTTP
|
||||||
|
# daemon-config: |
|
||||||
|
# {
|
||||||
|
# "insecure-registries": ["172.100.10.45:3000"]
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# # 确保buildx使用正确的网络配置
|
||||||
|
# driver-opts: |
|
||||||
|
# network=host
|
||||||
|
## context: "${{ github.workspace }}"
|
||||||
|
## file: ${{ github.workspace }}/${{ matrix.service }}/Dockerfile
|
||||||
|
## tags: 172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest
|
||||||
|
## # tags: ${{ secrets.REGISTRY_URL }}/by2025/$(echo ${{ matrix.service }} | tr 'A-Z' 'a-z'):${{ github.sha }}
|
||||||
|
## # tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:2.0.4
|
||||||
|
## push: true
|
||||||
|
## cache-from: type=gha
|
||||||
|
## cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
|
||||||
run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀
|
run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@ -80,50 +302,50 @@ jobs:
|
|||||||
sleep 10
|
sleep 10
|
||||||
done
|
done
|
||||||
|
|
||||||
# build-common-modules:
|
build-common-modules:
|
||||||
# needs: build-parent-pom
|
needs: build-parent-pom
|
||||||
# runs-on: ubuntu
|
runs-on: ubuntu
|
||||||
# steps:
|
steps:
|
||||||
# - name: 拉取代码仓库
|
- name: 拉取代码仓库
|
||||||
# uses: http://git.missmoc.top/mocheng/checkout@v4
|
uses: http://git.missmoc.top/mocheng/checkout@v4
|
||||||
|
|
||||||
# - name: 配置环境变量
|
- name: 配置环境变量
|
||||||
# run: |
|
run: |
|
||||||
# export JAVA_HOME="/java17/java17"
|
export JAVA_HOME="/java17/java17"
|
||||||
# export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
export MAVEN_HOME="/maven/apache-maven-3.9.11"
|
||||||
# echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
|
||||||
# echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
|
||||||
# echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV
|
||||||
# echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
echo "$MAVEN_HOME/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
# - name: 构建通用模块(仅本地使用,不上传)
|
- name: 构建通用模块(仅本地使用,不上传)
|
||||||
# run: |
|
run: |
|
||||||
# COMMON_MODULES=(
|
COMMON_MODULES=(
|
||||||
# "ruoyi-common"
|
"ruoyi-common"
|
||||||
# "ruoyi-api"
|
"ruoyi-api"
|
||||||
# "ruoyi-common-bom"
|
"ruoyi-common-bom"
|
||||||
# "ruoyi-common-alibaba-bom"
|
"ruoyi-common-alibaba-bom"
|
||||||
# "ruoyi-api-bom"
|
"ruoyi-api-bom"
|
||||||
# )
|
)
|
||||||
|
|
||||||
# for module in "${COMMON_MODULES[@]}"; do
|
for module in "${COMMON_MODULES[@]}"; do
|
||||||
# MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
|
MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml"
|
||||||
# if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
|
if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then
|
||||||
# echo "警告:模块 $module 不存在,跳过"
|
echo "警告:模块 $module 不存在,跳过"
|
||||||
# continue
|
continue
|
||||||
# fi
|
fi
|
||||||
|
|
||||||
# retries=3
|
retries=3
|
||||||
# count=0
|
count=0
|
||||||
# until "$MAVEN_HOME/bin/mvn" clean compile install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
|
until "$MAVEN_HOME/bin/mvn" clean compile install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do
|
||||||
# count=$((count + 1))
|
count=$((count + 1))
|
||||||
# if [ $count -ge $retries ]; then
|
if [ $count -ge $retries ]; then
|
||||||
# echo "错误:模块 $module 构建失败"
|
echo "错误:模块 $module 构建失败"
|
||||||
# exit 1
|
exit 1
|
||||||
# fi
|
fi
|
||||||
# sleep 10
|
sleep 10
|
||||||
# done
|
done
|
||||||
# done
|
done
|
||||||
|
|
||||||
build-and-push-services:
|
build-and-push-services:
|
||||||
needs: build-common-modules
|
needs: build-common-modules
|
||||||
@ -169,8 +391,21 @@ jobs:
|
|||||||
|
|
||||||
"$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
|
"$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH"
|
||||||
|
|
||||||
- name: 配置Docker Buildx
|
- name: 检查JAR文件是否存在
|
||||||
|
run: |
|
||||||
|
SERVICE_NAME="${{ matrix.service }}"
|
||||||
|
JAR_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/target/$(basename ${SERVICE_NAME}).jar"
|
||||||
|
if [ ! -f "$JAR_PATH" ]; then
|
||||||
|
echo "错误:JAR文件不存在 - $JAR_PATH"
|
||||||
|
echo "目标目录内容:"
|
||||||
|
ls -l "${GITHUB_WORKSPACE}/${SERVICE_NAME}/target"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: 配置Docker Buildx(使用原生Docker驱动)
|
||||||
uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
|
uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
driver: docker # 避免容器化驱动的网络隔离问题
|
||||||
|
|
||||||
- name: 登录到容器仓库
|
- name: 登录到容器仓库
|
||||||
uses: http://git.missmoc.top/mocheng/login-action@v3
|
uses: http://git.missmoc.top/mocheng/login-action@v3
|
||||||
@ -194,27 +429,19 @@ jobs:
|
|||||||
- name: 构建并推送Docker镜像(仅推送镜像,不上传JAR)
|
- name: 构建并推送Docker镜像(仅推送镜像,不上传JAR)
|
||||||
uses: http://git.missmoc.top/mocheng/build-push-action@v5
|
uses: http://git.missmoc.top/mocheng/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: "${{ github.workspace }}"
|
# 使用服务模块目录作为构建上下文(确保能找到target/JAR)
|
||||||
file: "${{ github.workspace }}/${{ matrix.service }}/Dockerfile"
|
context: "${{ github.workspace }}/${{ matrix.service }}"
|
||||||
tags: "172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest"
|
file: "${{ steps.dockerfile-path.outputs.dockerfile_path }}"
|
||||||
|
# 处理镜像标签中的斜杠(避免格式错误)
|
||||||
|
tags: "172.100.10.45:3000/by2025/smartparks/$(echo ${{ matrix.service }} | tr '/' '-'):latest"
|
||||||
push: true
|
push: true
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
# 允许HTTP访问私有仓库
|
||||||
# 关键配置:允许该仓库使用HTTP
|
|
||||||
daemon-config: |
|
daemon-config: |
|
||||||
{
|
{
|
||||||
"insecure-registries": ["172.100.10.45:3000"]
|
"insecure-registries": ["172.100.10.45:3000"]
|
||||||
}
|
}
|
||||||
|
# 禁用容器化网络,使用主机网络
|
||||||
# 确保buildx使用正确的网络配置
|
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
network=host
|
network=host
|
||||||
# context: "${{ github.workspace }}"
|
|
||||||
# file: ${{ github.workspace }}/${{ matrix.service }}/Dockerfile
|
|
||||||
# tags: 172.100.10.45:3000/by2025/smartparks/${{ matrix.service }}:latest
|
|
||||||
# # tags: ${{ secrets.REGISTRY_URL }}/by2025/$(echo ${{ matrix.service }} | tr 'A-Z' 'a-z'):${{ github.sha }}
|
|
||||||
# # tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:2.0.4
|
|
||||||
# push: true
|
|
||||||
# cache-from: type=gha
|
|
||||||
# cache-to: type=gha,mode=max
|
|
||||||
|
Loading…
Reference in New Issue
Block a user