Compare commits

..

No commits in common. "8ccf1dd2c3590a1d4dec35437ae97d89faf53a98" and "8fa022008ee93b2b400096a2c7b285f41b6eaf1a" have entirely different histories.

View File

@ -17,8 +17,8 @@ workspace:
volumes: volumes:
- name: maven-cache - name: maven-cache
path: /localcache/maven/repository path: /localcache/maven/repository
- name: npm-cache - name: node-cache
path: /localcache/npm-cache path: /localcache/node_modules
clone: clone:
depth: 0 depth: 0
@ -27,7 +27,7 @@ clone:
steps: steps:
- name: java-build-test - name: java-build-test
image: registry.cn-beijing.aliyuncs.com/yinzy/maven:jk3.9-8 image: registry.cn-beijing.aliyuncs.com/yinzy/maven:3.9-eclipse-temurin-8
pull: false pull: false
volumes: volumes:
- name: maven-cache - name: maven-cache
@ -36,20 +36,35 @@ steps:
MAVEN_OPTS: -Dmaven.repo.local=/localcache/maven/repository MAVEN_OPTS: -Dmaven.repo.local=/localcache/maven/repository
commands: commands:
- mkdir -p ~/.m2 - mkdir -p ~/.m2
- cat ~/.m2/settings.xml - |
- mvn -B clean test package cat > ~/.m2/settings.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings>
EOF
- mvn -s ~/.m2/settings.xml clean test package
- ls -lah target/*.jar || (echo "JAR file not found!" && exit 1) - ls -lah target/*.jar || (echo "JAR file not found!" && exit 1)
- name: frontend-build - name: frontend-build
image: registry.cn-beijing.aliyuncs.com/yinzy/node:20.11-alpine3.19 image: registry.cn-beijing.aliyuncs.com/yinzy/node:20.11-alpine3.19
pull: false pull: false
volumes: volumes:
- name: npm-cache - name: node-cache
path: /localcache/npm-cache path: /localcache/node_modules
commands: commands:
- cd vue-ui - cd vue-ui
- npm config set cache /localcache/npm-cache/.npm - npm config set cache /localcache/node_modules/.npm
- npm ci -prefer-offline --registry=https://registry.npmmirror.com - npm ci --registry=https://registry.npmmirror.com
- npm run build - npm run build
- ls -lah dist - ls -lah dist
@ -88,9 +103,9 @@ volumes:
- name: docker_sock - name: docker_sock
path: /var/run/docker.sock path: /var/run/docker.sock
- name: jar-cache - name: jar-cache
path: /localcache/apps path: /localcache
- name: npm-cache - name: node-cache
path: /localcache/npm-cache path: /localcache/node_modules
clone: clone:
depth: 0 depth: 0
@ -102,40 +117,57 @@ steps:
image: registry.cn-beijing.aliyuncs.com/yinzy/node:20.11-alpine3.19 image: registry.cn-beijing.aliyuncs.com/yinzy/node:20.11-alpine3.19
pull: false pull: false
volumes: volumes:
- name: npm-cache - name: node-cache
path: /localcache/npm-cache path: /localcache/node_modules
- name: jar-cache # 复用已有 /localcache用于暂存 dist.zip - name: jar-cache # 复用已有 /localcache用于暂存 dist.zip
path: /localcache/apps path: /localcache
commands: commands:
- cd vue-ui - cd vue-ui
- npm config set cache /localcache/npm-cache/.npm - npm config set cache /localcache/node_modules/.npm
- npm ci -prefer-offline --registry=https://registry.npmmirror.com - npm ci --registry=https://registry.npmmirror.com
- npm run build - npm run build
- cd dist && tar -czf ../dist.tgz . && cd .. - cd dist && tar -czf ../dist.tgz . && cd ..
- mkdir -p /localcache/apps/${DRONE_REPO_NAME} - mkdir -p /localcache/${DRONE_REPO_NAME}
- cp dist.tgz /localcache/apps/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz -f - cp dist.tgz /localcache/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz -f
- ls -lah /localcache/apps/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz - ls -lah /localcache/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz
- name: java-build - name: java-build
image: registry.cn-beijing.aliyuncs.com/yinzy/maven:jk3.9-8 image: registry.cn-beijing.aliyuncs.com/yinzy/maven:3.9-eclipse-temurin-8
pull: false pull: false
volumes: volumes:
- name: maven-cache - name: maven-cache
path: /localcache/maven/repository path: /localcache/maven/repository
- name: jar-cache - name: jar-cache
path: /localcache/apps path: /localcache
environment: environment:
MAVEN_OPTS: -Dmaven.repo.local=/localcache/maven/repository MAVEN_OPTS: -Dmaven.repo.local=/localcache/maven/repository
commands: commands:
- mvn -B -DskipTests=true clean package - mkdir -p ~/.m2
- |
cat > ~/.m2/settings.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings>
EOF
- mvn -s ~/.m2/settings.xml -DskipTests=true clean package
- ls -lah target/*.jar || (echo "JAR file not found!" && exit 1) - ls -lah target/*.jar || (echo "JAR file not found!" && exit 1)
- | - |
mkdir -p /localcache/apps/${DRONE_REPO_NAME} mkdir -p /localcache/${DRONE_REPO_NAME}
JAR_FILE=$(ls target/*.jar 2>/dev/null | head -1) JAR_FILE=$(ls target/*.jar 2>/dev/null | head -1)
if [ -n "$JAR_FILE" ]; then if [ -n "$JAR_FILE" ]; then
cp "$JAR_FILE" /localcache/apps/${DRONE_REPO_NAME}/ -f cp "$JAR_FILE" /localcache/${DRONE_REPO_NAME}/ -f
echo "✅ JAR file backed up to /localcache/apps/${DRONE_REPO_NAME}/$(basename $JAR_FILE)" echo "✅ JAR file backed up to /localcache/${DRONE_REPO_NAME}/$(basename $JAR_FILE)"
ls -lh /localcache/apps/${DRONE_REPO_NAME}/ ls -lh /localcache/${DRONE_REPO_NAME}/
else else
echo "⚠️ No JAR file found to backup" echo "⚠️ No JAR file found to backup"
fi fi
@ -147,7 +179,7 @@ steps:
- name: docker_sock - name: docker_sock
path: /var/run/docker.sock path: /var/run/docker.sock
commands: commands:
- cp /localcache/apps/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz dist.tgz - cp /localcache/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz dist.tgz
- ls -lh dist.tgz - ls -lh dist.tgz
- docker info - docker info
- docker build -t ${DRONE_REPO_NAME}-frontend:latest -f docker/Dockerfile-frontend . - docker build -t ${DRONE_REPO_NAME}-frontend:latest -f docker/Dockerfile-frontend .
@ -183,15 +215,15 @@ steps:
pull: false pull: false
volumes: volumes:
- name: jar-cache - name: jar-cache
path: /localcache/apps path: /localcache
settings: settings:
api_key: api_key:
from_secret: gitea_token from_secret: gitea_token
base_url: base_url:
from_secret: gitea_base_url from_secret: gitea_base_url
files: files:
- /localcache/apps/${DRONE_REPO_NAME}/*.jar - /localcache/${DRONE_REPO_NAME}/*.jar
- /localcache/apps/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz - /localcache/${DRONE_REPO_NAME}/dist-${DRONE_TAG}.tgz
title: Release ${DRONE_TAG} title: Release ${DRONE_TAG}
note: | note: |
Release ${DRONE_TAG} Release ${DRONE_TAG}