Files
SmartParks/.gitea/workflows/dev.yml
bichangxiong ee0664c23b
Some checks failed
/ build-parent-pom (push) Successful in 2m9s
/ build-common-modules (push) Successful in 1m48s
/ build-and-push-services (ruoyi-auth) (push) Failing after 48s
/ build-and-push-services (ruoyi-gateway) (push) Failing after 1m17s
/ build-and-push-services (ruoyi-modules/Property) (push) Failing after 1m30s
/ build-and-push-services (ruoyi-modules/Sis) (push) Failing after 26s
/ build-and-push-services (ruoyi-modules/ruoyi-gen) (push) Failing after 1m7s
/ build-and-push-services (ruoyi-modules/ruoyi-job) (push) Failing after 1m17s
/ build-and-push-services (ruoyi-modules/ruoyi-resource) (push) Failing after 1m10s
/ build-and-push-services (ruoyi-modules/ruoyi-system) (push) Failing after 1m18s
/ build-and-push-services (ruoyi-modules/ruoyi-workflow) (push) Failing after 1m19s
/ build-and-push-services (ruoyi-seata-server) (push) Failing after 17s
/ build-and-push-services (ruoyi-sentinel-dashboard) (push) Failing after 18s
/ build-and-push-services (ruoyi-snailjob-server) (push) Failing after 20s
/ build-and-push-services (ruoyi-visual/ruoyi-monitor) (push) Has been cancelled
/ build-and-push-services (ruoyi-visual/ruoyi-nacos) (push) Has been cancelled
更新 .gitea/workflows/dev.yml
2025-08-14 16:59:00 +08:00

213 lines
7.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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允许HTTP私有仓库
run: |
# 配置Docker守护进程接受HTTP私有仓库
sudo mkdir -p /etc/docker
echo '{ "insecure-registries": ["172.100.10.45:3000"] }' | sudo tee /etc/docker/daemon.json
# 重启Docker使配置生效
sudo systemctl restart docker
# 验证配置
docker info | grep -A 10 "Insecure Registries"
- name: 登录到私有容器仓库
run: |
echo "${{ secrets.REGISTRY_PASS }}" | docker login ${{ secrets.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USER }} --password-stdin
- name: 构建Docker镜像
run: |
SERVICE_NAME="${{ matrix.service }}"
# 替换路径中的斜杠为连字符,避免镜像标签中的路径问题
SANITIZED_SERVICE_NAME=$(echo "$SERVICE_NAME" | tr '/' '-')
IMAGE_TAG="172.100.10.45:3000/by2025/smartparks/${SANITIZED_SERVICE_NAME}:latest"
# 确定Dockerfile路径
if [ -f "${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile" ]; then
DOCKERFILE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile"
else
DOCKERFILE_PATH="${GITHUB_WORKSPACE}/Dockerfile"
fi
# 使用原生docker build命令构建镜像
docker build -t "$IMAGE_TAG" -f "$DOCKERFILE_PATH" "${GITHUB_WORKSPACE}"
# 保存镜像标签供后续步骤使用
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
- name: 推送Docker镜像到私有仓库
run: |
# 推送镜像
docker push "$IMAGE_TAG"
# 登出仓库
docker logout ${{ secrets.REGISTRY_URL }}