From e750adcc94f485509a3fa4c815039e1e13151791 Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 27 Nov 2025 17:35:47 +0800 Subject: [PATCH 1/9] TO prod --- src/main/java/com/ai/da/common/task/AccountTask.java | 2 +- src/main/java/com/ai/da/common/task/PaymentTask.java | 2 +- src/main/java/com/ai/da/common/utils/SendEmailUtil.java | 4 ++-- .../java/com/ai/da/service/impl/AffiliateServiceImpl.java | 4 ++-- .../java/com/ai/da/service/impl/EmailServiceImpl.java | 4 ++-- src/main/resources/application.properties | 4 ++-- src/main/resources/payment.properties | 8 ++++---- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/ai/da/common/task/AccountTask.java b/src/main/java/com/ai/da/common/task/AccountTask.java index 4907014f..6baba322 100644 --- a/src/main/java/com/ai/da/common/task/AccountTask.java +++ b/src/main/java/com/ai/da/common/task/AccountTask.java @@ -31,7 +31,7 @@ public class AccountTask { accountService.refreshCreditsMonthly(); } -// @Scheduled(cron = "0 */5 * * * *") // Run every 5 minutes + @Scheduled(cron = "0 */5 * * * *") // Run every 5 minutes public void getPaidUser() { // 获取code-create 表中 指定日期之后 订单状态为wc-processing的订单 accountService.extendValidityForCC(); diff --git a/src/main/java/com/ai/da/common/task/PaymentTask.java b/src/main/java/com/ai/da/common/task/PaymentTask.java index 794c8483..22ae3938 100644 --- a/src/main/java/com/ai/da/common/task/PaymentTask.java +++ b/src/main/java/com/ai/da/common/task/PaymentTask.java @@ -122,7 +122,7 @@ public class PaymentTask { @Scheduled(cron = "0 */5 * * * *") // Run every 5 minutes public void calcCouponsCommission(){ - log.info("优惠券佣金计算定时器"); +// log.info("优惠券佣金计算定时器"); affiliateService.calcCouponsCommission(); } diff --git a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java index c155b463..98d70ad7 100644 --- a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java +++ b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java @@ -766,7 +766,7 @@ public class SendEmailUtil { try { String merchantEmail = "kimwong@code-create.com.hk"; String developer = "xupei3360@163.com"; - String[] receiverEmail = {/*merchantEmail,*/ developer}; + String[] receiverEmail = {merchantEmail, developer}; Credential cred = new Credential(SECRET_ID, SECRET_KEy); // 实例化一个http选项,可选的,没有特殊需求可以跳过 HttpProfile httpProfile = new HttpProfile(); @@ -965,7 +965,7 @@ public class SendEmailUtil { req.setFromEmailAddress(SEND_ADDRESS); String merchantEmail = "kimwong@code-create.com.hk"; String developerEmail = "xupei@code-create.com.hk"; - req.setDestination(new String[]{/*merchantEmail,*/ developerEmail}); + req.setDestination(new String[]{merchantEmail, developerEmail}); Template template = new Template(); req.setSubject("New Credit Purchase Order"); template.setTemplateID(CREDITS_PURCHASE_MERCHANT); diff --git a/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java b/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java index ad43b76b..c7c06256 100644 --- a/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java @@ -83,7 +83,7 @@ public class AffiliateServiceImpl extends ServiceImpl merchantReceiver = Arrays.asList(/*merchantEmail,*/ developer); + List merchantReceiver = Arrays.asList(merchantEmail, developer); String merchantSubject = null; String merchantTemplate = null; @@ -730,7 +730,7 @@ public class EmailServiceImpl implements EmailService { jsonObject.put("quantity", quantity); jsonObject.put("totalFee", amount); - sendEmail(Arrays.asList(/*merchantEmail,*/ developerEmail), jsonObject, CREDITS_PURCHASE_MERCHANT, "New Credit Purchase Order", null, null); + sendEmail(Arrays.asList(merchantEmail, developerEmail), jsonObject, CREDITS_PURCHASE_MERCHANT, "New Credit Purchase Order", null, null); } private final static String COMMON_EXCEPTION_REMINDER = "135279_common-exception-reminder.html"; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 974fee23..8550475d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,7 +2,7 @@ #spring.profiles.active=test #����application-prod�ļ�(��������) -#spring.profiles.active=prod +spring.profiles.active=prod #����application-dev�ļ�(��������) -spring.profiles.active=dev +#spring.profiles.active=dev diff --git a/src/main/resources/payment.properties b/src/main/resources/payment.properties index 0f2800d6..f4b98130 100644 --- a/src/main/resources/payment.properties +++ b/src/main/resources/payment.properties @@ -27,9 +27,9 @@ paypal.webhook_id=1D107312EX592781K ##### Stripe # developer -stripe.private-key=sk_test_51P4ZZL02n1TEydyN8qQHjOA9imsFU7Oxs2HMHGy2urHnnQgSHnZuu5vVP6pKhEACwUpsKNyrbZpdcg5TJWJLRHcY008dEO1fn2 +#stripe.private-key=sk_test_51P4ZZL02n1TEydyN8qQHjOA9imsFU7Oxs2HMHGy2urHnnQgSHnZuu5vVP6pKhEACwUpsKNyrbZpdcg5TJWJLRHcY008dEO1fn2 # dev 端点 -stripe.webhook-sign-secret=whsec_e0dBiJngx6qqgJj6yPyJ2A9ouh1Cjv5w +#stripe.webhook-sign-secret=whsec_e0dBiJngx6qqgJj6yPyJ2A9ouh1Cjv5w # local 端点 #stripe.webhook-sign-secret=whsec_TJcMSnAkh4uktrNY1M6Iy8XaVze4Rzqm @@ -43,8 +43,8 @@ stripe.webhook-sign-secret=whsec_e0dBiJngx6qqgJj6yPyJ2A9ouh1Cjv5w #stripe.webhook-sign-secret=whsec_pX0pPMQm85PaUSWnFMEzoccb3MGNkjoL # kim - live -#stripe.private-key=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 +stripe.private-key=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 # prod 端点 -#stripe.webhook-sign-secret=whsec_hhGDgdelQRHSg4LmChtQe41crj41eb11 +stripe.webhook-sign-secret=whsec_hhGDgdelQRHSg4LmChtQe41crj41eb11 # dev 端点 #stripe.webhook-sign-secret=whsec_cFUtjUOo8wnrIKZmt4GNvt7ZY1bOfrYr From fcbe4762b39eea2785a35267407816dad6f2f678 Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 27 Nov 2025 17:38:24 +0800 Subject: [PATCH 2/9] TO prod --- src/main/java/com/ai/da/common/task/PaymentTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ai/da/common/task/PaymentTask.java b/src/main/java/com/ai/da/common/task/PaymentTask.java index 22ae3938..b4cff192 100644 --- a/src/main/java/com/ai/da/common/task/PaymentTask.java +++ b/src/main/java/com/ai/da/common/task/PaymentTask.java @@ -109,7 +109,7 @@ public class PaymentTask { affiliateService.syncLinkViewCountToDB(); } -// @Scheduled(cron = "0 0 8 28-31 * ?") + @Scheduled(cron = "0 0 8 28-31 * ?") public void commissionSummaryReminder(){ // 每个月末的最后一天的早上八点执行 LocalDate today = LocalDate.now(); From 8205fb5290bfe79feac116d2b793692a9f9a00ff Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 28 Nov 2025 15:25:41 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=E3=80=8C.gitea/workflows=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/prod_build_manual (1).yaml | 143 +++++++++++++++++++ .gitea/workflows/prod_build_schedule.yaml | 146 ++++++++++++++++++++ 2 files changed, 289 insertions(+) create mode 100644 .gitea/workflows/prod_build_manual (1).yaml create mode 100644 .gitea/workflows/prod_build_schedule.yaml diff --git a/.gitea/workflows/prod_build_manual (1).yaml b/.gitea/workflows/prod_build_manual (1).yaml new file mode 100644 index 00000000..b98aeeb7 --- /dev/null +++ b/.gitea/workflows/prod_build_manual (1).yaml @@ -0,0 +1,143 @@ +name: 手动 AiDA back-java Develop 分支构建部署 +on: + workflow_dispatch: + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + env: + REMOTE_DEPLOY_PATH: /workspace/workspace_aida/ProdVersion/prod-version-aida-back + + steps: + - name: 1.检出代码 + uses: actions/checkout@v4 + with: + ref: release/3.1 + + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + + - name: 2.设置JAVA Maven 环境 + run: | + # 适配act的root用户和Gitea Runner普通用户 + SUDO="" + [ "$(id -u)" != "0" ] && SUDO="sudo" + + # 安装依赖 + $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends + + # 下载并安装Maven + MAVEN_VERSION="3.9.11" + MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" + MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" + wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} + + # 解压+软链接 + $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ + $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven + + # 配置PATH + echo "/usr/local/maven/bin" >> $GITHUB_PATH + export PATH="/usr/local/maven/bin:$PATH" + + # 验证 + mvn -v + + - name: 2.构建jar包 + run: + mvn -B clean package -DskipTests --file pom.xml + + - name: 3.检查 Runner 本地文件 + run: | + echo "当前目录:$(pwd)" + echo "target 目录内容:" + ls -la ./target/ + + # 容错:处理通配符无匹配的情况 + JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) + if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then + echo "❌ Runner 本地无有效 JAR 包!" + exit 1 + fi + + # 检查Docker配置文件 + for FILE in Dockerfile docker-compose.yml; do + if [ ! -f "./$FILE" ]; then + echo "❌ 缺失文件:$FILE" + exit 1 + fi + done + echo "✅ 本地文件校验通过!" + + - name: 4. 同步文件到远程服务器 + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + source: "./target/*.jar,./Dockerfile,./docker-compose.yml" + target: ${{ env.REMOTE_DEPLOY_PATH }} + ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" + strip_components: 0 + + - name: 5. 验证远程文件 + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + script: | + echo "===== 远程部署目录文件列表 =====" + ls -la ${{ env.REMOTE_DEPLOY_PATH }} + + # 容错:检查JAR包 + REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) + if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then + echo "❌ 远程服务器无有效 JAR 包!" + exit 1 + fi + + # 检查Docker文件 + for FILE in Dockerfile docker-compose.yml; do + if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then + echo "❌ 远程缺失文件:$FILE" + exit 1 + fi + done + echo "✅ 远程文件校验通过!" + + - name: 6. 部署和运行服务 + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + script: | + echo "===== 开始部署服务 =====" + cd ${{ env.REMOTE_DEPLOY_PATH }} + + # 容错:停止旧容器(不存在则跳过) + echo "停止旧容器..." + docker compose down || true + + # 清理无效镜像(可选,释放空间) + docker system prune -f + + # 构建并启动新容器 + echo "构建Docker镜像..." + docker compose build --no-cache + echo "启动服务..." + docker compose up -d + + # 验证服务状态 + echo "验证容器状态..." + docker compose ps + echo "✅ 部署完成!" \ No newline at end of file diff --git a/.gitea/workflows/prod_build_schedule.yaml b/.gitea/workflows/prod_build_schedule.yaml new file mode 100644 index 00000000..563a8025 --- /dev/null +++ b/.gitea/workflows/prod_build_schedule.yaml @@ -0,0 +1,146 @@ +name: 定时 AiDA back-java Develop 分支构建部署 +on: + schedule: + # cron为UTC时区,构建时间=部署时间-8小时 {*分 (-8)时 *日 *月 *周} --- + # 示例: 1月1日22点22分触发构建 cron写作 - '22 14 1 1 *' + - cron: '18 7 28 11 *' + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + env: + REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-version-aida-back + + steps: + - name: 1.检出代码 + uses: actions/checkout@v4 + with: + ref: release/3.1 + + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + + - name: 2.设置JAVA Maven 环境 + run: | + # 适配act的root用户和Gitea Runner普通用户 + SUDO="" + [ "$(id -u)" != "0" ] && SUDO="sudo" + + # 安装依赖 + $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends + + # 下载并安装Maven + MAVEN_VERSION="3.9.11" + MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" + MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" + wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} + + # 解压+软链接 + $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ + $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven + + # 配置PATH + echo "/usr/local/maven/bin" >> $GITHUB_PATH + export PATH="/usr/local/maven/bin:$PATH" + + # 验证 + mvn -v + + - name: 2.构建jar包 + run: + mvn -B clean package -DskipTests --file pom.xml + + - name: 3.检查 Runner 本地文件 + run: | + echo "当前目录:$(pwd)" + echo "target 目录内容:" + ls -la ./target/ + + # 容错:处理通配符无匹配的情况 + JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) + if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then + echo "❌ Runner 本地无有效 JAR 包!" + exit 1 + fi + + # 检查Docker配置文件 + for FILE in Dockerfile docker-compose.yml; do + if [ ! -f "./$FILE" ]; then + echo "❌ 缺失文件:$FILE" + exit 1 + fi + done + echo "✅ 本地文件校验通过!" + + - name: 4. 同步文件到远程服务器 + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + source: "./target/*.jar,./Dockerfile,./docker-compose.yml" + target: ${{ env.REMOTE_DEPLOY_PATH }} + ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" + strip_components: 0 + + - name: 5. 验证远程文件 + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + script: | + echo "===== 远程部署目录文件列表 =====" + ls -la ${{ env.REMOTE_DEPLOY_PATH }} + + # 容错:检查JAR包 + REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) + if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then + echo "❌ 远程服务器无有效 JAR 包!" + exit 1 + fi + + # 检查Docker文件 + for FILE in Dockerfile docker-compose.yml; do + if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then + echo "❌ 远程缺失文件:$FILE" + exit 1 + fi + done + echo "✅ 远程文件校验通过!" + + - name: 6. 部署和运行服务 + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + script: | + echo "===== 开始部署服务 =====" + cd ${{ env.REMOTE_DEPLOY_PATH }} + + # 容错:停止旧容器(不存在则跳过) + echo "停止旧容器..." + docker compose down || true + + # 清理无效镜像(可选,释放空间) + docker system prune -f + + # 构建并启动新容器 + echo "构建Docker镜像..." + docker compose build --no-cache + echo "启动服务..." + docker compose up -d + + # 验证服务状态 + echo "验证容器状态..." + docker compose ps + echo "✅ 部署完成!" \ No newline at end of file From 96170a99561d3cd9d561d44cbcfa8c92a50df0aa Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 28 Nov 2025 15:25:50 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/prod?= =?UTF-8?q?=5Fbuild=5Fmanual.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{prod_build_manual (1).yaml => prod_build_manual.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .gitea/workflows/{prod_build_manual (1).yaml => prod_build_manual.yaml} (100%) diff --git a/.gitea/workflows/prod_build_manual (1).yaml b/.gitea/workflows/prod_build_manual.yaml similarity index 100% rename from .gitea/workflows/prod_build_manual (1).yaml rename to .gitea/workflows/prod_build_manual.yaml From a710fdd4329e572fd082618fa05e850347d3f4d7 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 30 Nov 2025 11:01:12 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=20docker-compose.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1510982e..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -services: - aida_back: - container_name: develop-version-aida-back-test - build: . - volumes: - # 数据挂载 - - ./log:/log - ports: - - '10090:5567' \ No newline at end of file From 6da5e91ec183a2ab991a374d58e0271630f397af Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Dec 2025 10:22:17 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=20.gitea/workflows/devel?= =?UTF-8?q?op=5Fbuild=5Fcommit.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/develop_build_commit.yaml | 148 --------------------- 1 file changed, 148 deletions(-) delete mode 100644 .gitea/workflows/develop_build_commit.yaml diff --git a/.gitea/workflows/develop_build_commit.yaml b/.gitea/workflows/develop_build_commit.yaml deleted file mode 100644 index c778021a..00000000 --- a/.gitea/workflows/develop_build_commit.yaml +++ /dev/null @@ -1,148 +0,0 @@ -name: git commit 控制 AiDA back-java Develop 分支构建部署 -on: - workflow_dispatch: - push: - branches: - - dev/3.1_release_merge - -jobs: - build_and_deploy: - runs-on: ubuntu-latest - if: "contains(github.event.head_commit.message, '[run build]')" - - - permissions: - contents: read - packages: write - - env: - REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-version-aida-back - - steps: - - name: 1.检出代码 - uses: actions/checkout@v4 - with: - ref: dev/3.1_release_merge - - - name: Set up JDK 8 - uses: actions/setup-java@v4 - with: - java-version: '8' - distribution: 'temurin' - - - name: 2.设置JAVA Maven 环境 - run: | - # 适配act的root用户和Gitea Runner普通用户 - SUDO="" - [ "$(id -u)" != "0" ] && SUDO="sudo" - - # 安装依赖 - $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends - - # 下载并安装Maven - MAVEN_VERSION="3.9.11" - MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" - MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" - wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} - - # 解压+软链接 - $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ - $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven - - # 配置PATH - echo "/usr/local/maven/bin" >> $GITHUB_PATH - export PATH="/usr/local/maven/bin:$PATH" - - # 验证 - mvn -v - - - name: 2.构建jar包 - run: - mvn -B clean package -DskipTests --file pom.xml - - - name: 3.检查 Runner 本地文件 - run: | - echo "当前目录:$(pwd)" - echo "target 目录内容:" - ls -la ./target/ - - # 容错:处理通配符无匹配的情况 - JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) - if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then - echo "❌ Runner 本地无有效 JAR 包!" - exit 1 - fi - - # 检查Docker配置文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "./$FILE" ]; then - echo "❌ 缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 本地文件校验通过!" - - - name: 4. 同步文件到远程服务器 - uses: appleboy/scp-action@v0.1.7 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - source: "./target/*.jar,./Dockerfile,./docker-compose.yml" - target: ${{ env.REMOTE_DEPLOY_PATH }} - ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" - strip_components: 0 - - - name: 5. 验证远程文件 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 远程部署目录文件列表 =====" - ls -la ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:检查JAR包 - REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) - if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then - echo "❌ 远程服务器无有效 JAR 包!" - exit 1 - fi - - # 检查Docker文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then - echo "❌ 远程缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 远程文件校验通过!" - - - name: 6. 部署和运行服务 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 开始部署服务 =====" - cd ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:停止旧容器(不存在则跳过) - echo "停止旧容器..." - docker compose down || true - - # 清理无效镜像(可选,释放空间) - docker system prune -f - - # 构建并启动新容器 - echo "构建Docker镜像..." - docker compose build --no-cache - echo "启动服务..." - docker compose up -d - - # 验证服务状态 - echo "验证容器状态..." - docker compose ps - echo "✅ 部署完成!" \ No newline at end of file From b7be16738b85f293ea412f3cf1fe82c38d0037a1 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Dec 2025 10:22:21 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=20.gitea/workflows/devel?= =?UTF-8?q?op=5Fbuild=5Fmanual.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/develop_build_manual.yaml | 143 --------------------- 1 file changed, 143 deletions(-) delete mode 100644 .gitea/workflows/develop_build_manual.yaml diff --git a/.gitea/workflows/develop_build_manual.yaml b/.gitea/workflows/develop_build_manual.yaml deleted file mode 100644 index c75493d0..00000000 --- a/.gitea/workflows/develop_build_manual.yaml +++ /dev/null @@ -1,143 +0,0 @@ -name: 手动 AiDA back-java Develop 分支构建部署 -on: - workflow_dispatch: - -jobs: - build_and_deploy: - runs-on: ubuntu-latest - - permissions: - contents: read - packages: write - - env: - REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-version-aida-back - - steps: - - name: 1.检出代码 - uses: actions/checkout@v4 - with: - ref: dev/3.1_release_merge - - - name: Set up JDK 8 - uses: actions/setup-java@v4 - with: - java-version: '8' - distribution: 'temurin' - - - name: 2.设置JAVA Maven 环境 - run: | - # 适配act的root用户和Gitea Runner普通用户 - SUDO="" - [ "$(id -u)" != "0" ] && SUDO="sudo" - - # 安装依赖 - $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends - - # 下载并安装Maven - MAVEN_VERSION="3.9.11" - MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" - MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" - wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} - - # 解压+软链接 - $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ - $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven - - # 配置PATH - echo "/usr/local/maven/bin" >> $GITHUB_PATH - export PATH="/usr/local/maven/bin:$PATH" - - # 验证 - mvn -v - - - name: 2.构建jar包 - run: - mvn -B clean package -DskipTests --file pom.xml - - - name: 3.检查 Runner 本地文件 - run: | - echo "当前目录:$(pwd)" - echo "target 目录内容:" - ls -la ./target/ - - # 容错:处理通配符无匹配的情况 - JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) - if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then - echo "❌ Runner 本地无有效 JAR 包!" - exit 1 - fi - - # 检查Docker配置文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "./$FILE" ]; then - echo "❌ 缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 本地文件校验通过!" - - - name: 4. 同步文件到远程服务器 - uses: appleboy/scp-action@v0.1.7 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - source: "./target/*.jar,./Dockerfile,./docker-compose.yml" - target: ${{ env.REMOTE_DEPLOY_PATH }} - ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" - strip_components: 0 - - - name: 5. 验证远程文件 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 远程部署目录文件列表 =====" - ls -la ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:检查JAR包 - REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) - if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then - echo "❌ 远程服务器无有效 JAR 包!" - exit 1 - fi - - # 检查Docker文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then - echo "❌ 远程缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 远程文件校验通过!" - - - name: 6. 部署和运行服务 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 开始部署服务 =====" - cd ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:停止旧容器(不存在则跳过) - echo "停止旧容器..." - docker compose down || true - - # 清理无效镜像(可选,释放空间) - docker system prune -f - - # 构建并启动新容器 - echo "构建Docker镜像..." - docker compose build --no-cache - echo "启动服务..." - docker compose up -d - - # 验证服务状态 - echo "验证容器状态..." - docker compose ps - echo "✅ 部署完成!" \ No newline at end of file From 6e1ed7f9b8c0140f92ed83644d99b94c59561b09 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Dec 2025 10:22:25 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=20.gitea/workflows/prod?= =?UTF-8?q?=5Fbuild=5Fmanual.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/prod_build_manual.yaml | 143 ------------------------ 1 file changed, 143 deletions(-) delete mode 100644 .gitea/workflows/prod_build_manual.yaml diff --git a/.gitea/workflows/prod_build_manual.yaml b/.gitea/workflows/prod_build_manual.yaml deleted file mode 100644 index b98aeeb7..00000000 --- a/.gitea/workflows/prod_build_manual.yaml +++ /dev/null @@ -1,143 +0,0 @@ -name: 手动 AiDA back-java Develop 分支构建部署 -on: - workflow_dispatch: - -jobs: - build_and_deploy: - runs-on: ubuntu-latest - - permissions: - contents: read - packages: write - - env: - REMOTE_DEPLOY_PATH: /workspace/workspace_aida/ProdVersion/prod-version-aida-back - - steps: - - name: 1.检出代码 - uses: actions/checkout@v4 - with: - ref: release/3.1 - - - name: Set up JDK 8 - uses: actions/setup-java@v4 - with: - java-version: '8' - distribution: 'temurin' - - - name: 2.设置JAVA Maven 环境 - run: | - # 适配act的root用户和Gitea Runner普通用户 - SUDO="" - [ "$(id -u)" != "0" ] && SUDO="sudo" - - # 安装依赖 - $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends - - # 下载并安装Maven - MAVEN_VERSION="3.9.11" - MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" - MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" - wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} - - # 解压+软链接 - $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ - $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven - - # 配置PATH - echo "/usr/local/maven/bin" >> $GITHUB_PATH - export PATH="/usr/local/maven/bin:$PATH" - - # 验证 - mvn -v - - - name: 2.构建jar包 - run: - mvn -B clean package -DskipTests --file pom.xml - - - name: 3.检查 Runner 本地文件 - run: | - echo "当前目录:$(pwd)" - echo "target 目录内容:" - ls -la ./target/ - - # 容错:处理通配符无匹配的情况 - JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) - if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then - echo "❌ Runner 本地无有效 JAR 包!" - exit 1 - fi - - # 检查Docker配置文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "./$FILE" ]; then - echo "❌ 缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 本地文件校验通过!" - - - name: 4. 同步文件到远程服务器 - uses: appleboy/scp-action@v0.1.7 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - source: "./target/*.jar,./Dockerfile,./docker-compose.yml" - target: ${{ env.REMOTE_DEPLOY_PATH }} - ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" - strip_components: 0 - - - name: 5. 验证远程文件 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 远程部署目录文件列表 =====" - ls -la ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:检查JAR包 - REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) - if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then - echo "❌ 远程服务器无有效 JAR 包!" - exit 1 - fi - - # 检查Docker文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then - echo "❌ 远程缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 远程文件校验通过!" - - - name: 6. 部署和运行服务 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 开始部署服务 =====" - cd ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:停止旧容器(不存在则跳过) - echo "停止旧容器..." - docker compose down || true - - # 清理无效镜像(可选,释放空间) - docker system prune -f - - # 构建并启动新容器 - echo "构建Docker镜像..." - docker compose build --no-cache - echo "启动服务..." - docker compose up -d - - # 验证服务状态 - echo "验证容器状态..." - docker compose ps - echo "✅ 部署完成!" \ No newline at end of file From 6cd42b799a928915b46494d767bb755f6b86e224 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 1 Dec 2025 10:22:29 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=20.gitea/workflows/prod?= =?UTF-8?q?=5Fbuild=5Fschedule.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/prod_build_schedule.yaml | 146 ---------------------- 1 file changed, 146 deletions(-) delete mode 100644 .gitea/workflows/prod_build_schedule.yaml diff --git a/.gitea/workflows/prod_build_schedule.yaml b/.gitea/workflows/prod_build_schedule.yaml deleted file mode 100644 index 563a8025..00000000 --- a/.gitea/workflows/prod_build_schedule.yaml +++ /dev/null @@ -1,146 +0,0 @@ -name: 定时 AiDA back-java Develop 分支构建部署 -on: - schedule: - # cron为UTC时区,构建时间=部署时间-8小时 {*分 (-8)时 *日 *月 *周} --- - # 示例: 1月1日22点22分触发构建 cron写作 - '22 14 1 1 *' - - cron: '18 7 28 11 *' - -jobs: - build_and_deploy: - runs-on: ubuntu-latest - - permissions: - contents: read - packages: write - - env: - REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-version-aida-back - - steps: - - name: 1.检出代码 - uses: actions/checkout@v4 - with: - ref: release/3.1 - - - name: Set up JDK 8 - uses: actions/setup-java@v4 - with: - java-version: '8' - distribution: 'temurin' - - - name: 2.设置JAVA Maven 环境 - run: | - # 适配act的root用户和Gitea Runner普通用户 - SUDO="" - [ "$(id -u)" != "0" ] && SUDO="sudo" - - # 安装依赖 - $SUDO apt update && $SUDO apt install -y wget tar --no-install-recommends - - # 下载并安装Maven - MAVEN_VERSION="3.9.11" - MAVEN_TAR="apache-maven-${MAVEN_VERSION}-bin.tar.gz" - MAVEN_URL="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_TAR}" - wget --no-verbose -O /tmp/${MAVEN_TAR} ${MAVEN_URL} - - # 解压+软链接 - $SUDO tar -xzf /tmp/${MAVEN_TAR} -C /usr/local/ - $SUDO ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/maven - - # 配置PATH - echo "/usr/local/maven/bin" >> $GITHUB_PATH - export PATH="/usr/local/maven/bin:$PATH" - - # 验证 - mvn -v - - - name: 2.构建jar包 - run: - mvn -B clean package -DskipTests --file pom.xml - - - name: 3.检查 Runner 本地文件 - run: | - echo "当前目录:$(pwd)" - echo "target 目录内容:" - ls -la ./target/ - - # 容错:处理通配符无匹配的情况 - JAR_FILE=$(ls ./target/*.jar 2>/dev/null | head -n1) - if [ -z "$JAR_FILE" ] || [ ! -f "$JAR_FILE" ]; then - echo "❌ Runner 本地无有效 JAR 包!" - exit 1 - fi - - # 检查Docker配置文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "./$FILE" ]; then - echo "❌ 缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 本地文件校验通过!" - - - name: 4. 同步文件到远程服务器 - uses: appleboy/scp-action@v0.1.7 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - source: "./target/*.jar,./Dockerfile,./docker-compose.yml" - target: ${{ env.REMOTE_DEPLOY_PATH }} - ssh_options: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" - strip_components: 0 - - - name: 5. 验证远程文件 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 远程部署目录文件列表 =====" - ls -la ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:检查JAR包 - REMOTE_JAR=$(ls ${{ env.REMOTE_DEPLOY_PATH }}/target/*.jar 2>/dev/null | head -n1) - if [ -z "$REMOTE_JAR" ] || [ ! -f "$REMOTE_JAR" ]; then - echo "❌ 远程服务器无有效 JAR 包!" - exit 1 - fi - - # 检查Docker文件 - for FILE in Dockerfile docker-compose.yml; do - if [ ! -f "${{ env.REMOTE_DEPLOY_PATH }}/$FILE" ]; then - echo "❌ 远程缺失文件:$FILE" - exit 1 - fi - done - echo "✅ 远程文件校验通过!" - - - name: 6. 部署和运行服务 - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SSH_KEY }} - script: | - echo "===== 开始部署服务 =====" - cd ${{ env.REMOTE_DEPLOY_PATH }} - - # 容错:停止旧容器(不存在则跳过) - echo "停止旧容器..." - docker compose down || true - - # 清理无效镜像(可选,释放空间) - docker system prune -f - - # 构建并启动新容器 - echo "构建Docker镜像..." - docker compose build --no-cache - echo "启动服务..." - docker compose up -d - - # 验证服务状态 - echo "验证容器状态..." - docker compose ps - echo "✅ 部署完成!" \ No newline at end of file