From 8f999cbd07727022b7e10e8a5a6f18600a7a1b6c Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 21 May 2026 14:16:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=E3=80=8C.gitea/workflows/master=5Fbuyer=5Fbuild=5Fmanual.yaml?= =?UTF-8?q?=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master_sellrt_build_manual.yaml | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 .gitea/workflows/master_buyer_build_manual.yaml/master_sellrt_build_manual.yaml diff --git a/.gitea/workflows/master_buyer_build_manual.yaml/master_sellrt_build_manual.yaml b/.gitea/workflows/master_buyer_build_manual.yaml/master_sellrt_build_manual.yaml new file mode 100644 index 0000000..e2de48b --- /dev/null +++ b/.gitea/workflows/master_buyer_build_manual.yaml/master_sellrt_build_manual.yaml @@ -0,0 +1,111 @@ +name: 手动 AiDA back-java 开发分支构建部署 +on: + workflow_dispatch: + +jobs: + build_and_deploy: + runs-on: java21 + + outputs: + build_status: ${{ job.status }} + build_url: ${{ gitea.server_url }}/${{ gitea.repository.owner.name }}/${{ gitea.repository.name }}/actions/runs/${{ gitea.run_id }} + + permissions: + contents: read + packages: write + + env: + REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/master-aida-seller-back + + steps: + - name: 0.记录开始时间 + id: build_start_time + run: echo "current_time=$(TZ='Asia/Hong_Kong' date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_OUTPUT + + - name: 1.检出代码 + uses: actions/checkout@v4 + with: + ref: master + + + - name: 3.缓存 Maven 依赖 + uses: actions/cache@v5 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: 4.构建项目 + run: | + java -version + mvn -v + mvn clean package -DskipTests + + - name: 5.生成Dockerfile + run: | + echo "===== 生成Dockerfile =====" + cat > Dockerfile << 'EOF' + FROM openjdk:21-ea-21-jdk-slim + VOLUME /tmp + RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime + RUN echo 'Asia/Shanghai' > /etc/timezone + ADD ./*.jar /app.jar + ENTRYPOINT ["java","-jar","/app.jar"] + EOF + echo "Dockerfile内容:" + cat Dockerfile + + - name: 6.生成docker-compose.yml + run: | + echo "===== 生成docker-compose.yml =====" + cat > docker-compose.yml << 'EOF' + version: '3' + services: + master-aida-seller: + container_name: master-aida-seller + build: . + volumes: + # 数据挂载 + - ./log:/log + - ./temp:/temp + - ./uploads:/temp/uploads + ports: + - '10093:10093' + restart: always + EOF + # 验证docker-compose.yml生成 + echo "docker-compose.yml内容:" + cat docker-compose.yml + + - name: 7.上传jar到远程服务器 + uses: appleboy/scp-action@master + with: + host: ${{ secrets.SERVER_HOST }} + port: 22 + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + source: "target/*.jar,Dockerfile,docker-compose.yml" + target: ${{ env.REMOTE_DEPLOY_PATH }} + preserve_host_directory_structure: false + + - name: 8. 重启 Docker 服务 + uses: appleboy/ssh-action@master # 👈 专门执行命令的 action + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_KEY }} + key_base64: true + script: | + echo "========= 进入部署目录 =========" + cd ${{ env.REMOTE_DEPLOY_PATH }} + ls -l + + echo "========= 停止旧服务 =========" + docker compose down + + echo "========= 启动新服务 =========" + docker compose up -d --build + + echo "========= 查看运行状态 =========" + docker compose ps \ No newline at end of file