You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions部署Azure Web App时无法找到java-app工件求助

问题排查与解决方案

核心原因

使用workflow_run触发部署Workflow时,默认情况下部署流程无法直接访问构建Workflow上传的工件——两者属于不同的Workflow运行上下文,必须显式指定从触发当前部署的构建运行实例中下载工件。

修复步骤

1. 修改部署Workflow的工件下载步骤

在actions/download-artifact步骤中添加run-id参数,指定为触发部署的构建Workflow的运行ID,使用github.event.workflow_run.id变量获取,同时建议添加构建成功的条件判断,避免失败构建触发无效部署:

name: Deploy JAR app to Azure Web App - kobeodbCR-backend

on:
  workflow_run:
    workflows: ["Build JAR app - kobeodbCR-backend"]
    types:
      - completed

jobs:
  deploy:
    runs-on: ubuntu-latest
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v4
        with:
          name: java-app
          run-id: ${{ github.event.workflow_run.id }}
          github-token: ${{ secrets.GITHUB_TOKEN }}

      - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: "kobeodbCR-backend"
          slot-name: "Production"
          package: "*.jar"
          publish-profile: ${{ ... }}

2. 额外排查点

  • 确认构建工件上传状态:进入构建Workflow的运行记录,查看Upload artifact for deployment job步骤的日志,确认java-app工件已成功上传,且包含目标JAR文件。
  • 校验工件名称一致性:确保构建和部署Workflow中指定的工件名称java-app完全一致(GitHub工件名称区分大小写)。
  • 验证JAR生成路径:在构建Workflow的Build with Maven步骤后添加ls -la target/命令,确认mvn clean install确实在target目录下生成了JAR文件。

内容的提问来源于stack exchange,提问作者Kobe Op de Beeck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:01:13