如何在GitHub Actions中配置JetBrainsRuntime构建并上传IntelliJ插件ZIP
解决GitHub Actions中IntelliJ插件依赖JetBrainsRuntime的构建问题
核心问题分析
你的IntelliJ插件依赖JetBrainsRuntime(JBR),但官方actions/setup-java不支持该分发版,导致用Zulu Java 17构建时出现编译器匹配错误。以下是满足push触发构建、不创建Release、产物对所有仓库可读用户开放的完整解决方案。
完整GitHub Actions工作流配置
创建.github/workflows/build-plugin.yml文件,内容如下:
name: Build IntelliJ Plugin on: [push] jobs: build: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v4 - name: 安装JetBrainsRuntime 17 run: | # 替换为插件依赖的JBR版本号,可从JetBrains官方镜像获取 JBR_VERSION="17.0.11+11" JBR_ARCH="linux-x64" # 从JetBrains缓存镜像下载JBR curl -LO "https://cache-redirector.jetbrains.com/intellij-jbr/jbr-${JBR_VERSION}-${JBR_ARCH}.tar.gz" # 解压到当前目录 tar -xzf jbr-${JBR_VERSION}-${JBR_ARCH}.tar.gz # 配置JAVA_HOME和PATH环境变量 JBR_DIR=$(pwd)/jbr-${JBR_VERSION}-${JBR_ARCH} echo "JAVA_HOME=$JBR_DIR" >> $GITHUB_ENV echo "$JBR_DIR/bin" >> $GITHUB_PATH - name: 验证Java环境 run: java -version - name: 构建插件 run: ./gradlew build --no-daemon - name: 上传构建产物 uses: actions/upload-artifact@v4 with: name: intellij-plugin-build path: build/distributions/*.zip # 可选:设置产物保留天数,默认90天;如需长期存储可改用GitHub Pages retention-days: 90 if-no-files-found: error
关键步骤说明
手动安装JBR
- 从JetBrains官方缓存镜像下载对应版本的JBR,替换
JBR_VERSION为插件依赖的具体版本(需匹配IntelliJ SDK要求的JBR版本) - 解压后通过环境变量配置
JAVA_HOME和PATH,确保构建时使用JetBrains的编译器
- 从JetBrains官方缓存镜像下载对应版本的JBR,替换
构建命令优化
- 添加
--no-daemon参数避免Gradle守护进程在CI环境中出现的稳定性问题
- 添加
产物上传方案
- 使用
actions/upload-artifact上传构建后的ZIP包:- 公开仓库的产物对所有可读用户开放,无需登录即可下载
- 默认保留90天,如需永久存储,可替换为GitHub Pages上传方案:
- name: 上传到GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./build/distributions # 可选:指定分支名,默认gh-pages publish_branch: gh-pages
- 使用
注意事项
- 若使用Windows/macOS runner,需修改JBR下载链接为对应平台的包(如
windows-x64.zip或osx-x64.tar.gz),并调整解压命令 - JBR版本需与插件依赖的IntelliJ SDK版本匹配,可查看IntelliJ官方文档确认对应关系
- 私有仓库的构建产物仅对仓库成员开放,若需公开访问需将仓库设为公开
内容的提问来源于stack exchange,提问作者InSync
相关产品推荐
相关产品推荐

