正常情况下,我们开发的 idea 插件会发布到 idea 官方商城中,这样用户就可以在 idea 的 Marketplace 中搜索安装。
但是在企业内部,有可能我们开发了很多内部插件,而不能发布到公共市场中,这种情况下我们就需要搭建一个内部的插件私服,本文讲述如何自己配置一个插件私服。
上传插件包
将 idea 打包后的插件安装包上传到一个可以在线下载的HTTP服务器上,如下地址为我的插件 test-1.0.0-202401301923.zip
包保存到某服务器上之后的Http下载地址:
https://nexus.test.com/repository/raw-hosted/idea-plugin/files/test-1.0.0-202401301923.zip
配置插件仓库的私服
创建 updatePlugins.xml
仓库配置文件,并上次到自己的Http服务器上,使之可以访问。
链接 https://nexus.test.com/repository/raw-public/idea-plugin/updatePlugins.xml 是我上传后的URL,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<plugins><plugin id="com.shanhy.plugin.test" url="https://nexus.test.com/repository/raw-hosted/idea-plugin/files/test-1.0.0-202401301923.zip" version="1.0.0-202302011841"><!--插件兼容版本,从since-build到until-build--><idea-version since-build="171.3780.107"/><name>HelloWorld Plugin</name><vendor url="http://www.test.com">单红宇</vendor><rating>5</rating><description><![CDATA[<tag>QuickCode,Quick Code,quick,code,code generate,code tools</tag><h3>中文:</h3><ul><li>基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。</li><li>只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。</li><li>支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。</li><h3>English:</h3><ul><li>The code generation plug-in based on IntelliJ IDEA is developed to support custom templates (Java, HTML, JS, XML).</li><li>As long as database related code can be generated through custom templates. Support database type and Java type mapping relationship configuration.</li><li>The code that supports generating multiple tables at the same time. Each table has a separate configuration information. Full personalization definition, the rules are set by you.</li><li>The following translation is from AI.</li></ul><p>More <a href="http://www.test.com/idea_plugin_helloworld">Help Info</a>.</p>
]]></description><change-notes><![CDATA[<p>1.0.0-RELEASE</p><ul><li>1.支持自定义模板(基于velocity)</li><li>2.支持定制表信息,以及添加扩展属性</li><li>3.支持同时生成多张表与多个模板代码</li><li>4.支持生成与数据库相关的任何代码</li><li>5.基于Database Tool开发,支持多种数据库</li><li>6.全局配置模块,可用于定义宏命令,全局配置信息等</li><li>7.内置多个模板组,并支持自定义新的模板组</li><li>8.支持模板调试预览功能,方便模板开发</li></ul><ul><li>1.Supports custom templates (based on Velocity)</li><li>2.Supports customization of table information, as well as adding extended attributes</li><li>3.Supports generating code for multiple tables and multiple templates simultaneously</li><li>4.Supports the generation of any code related to the database</li><li>5.Developed based on Database Tool, supports a variety of databases</li><li>6.Global configuration module for defining macro commands and global configuration settings</li><li>7.Comes with multiple built-in template groups and supports the creation of new custom template groups</li><li>8.Offers a template debugging and preview feature for easy template development</li></ul>]]></change-notes></plugin><plugin><!--第二个插件配置...--></plugin><plugin><!--第三个插件配置...--></plugin><plugin><!--第N个插件配置...--></plugin>
</plugins>
以后每次发布插件新的版本时,需要对应修改配置中的下载地址和版本号,确保 version
新的版本要比旧版本大。
添加私服并搜索插件
在 idea 插件管理中添加自定义的 repository,这里需要使用到我们上面的配置文件 URL。
如果你的配置文件
updatePlugins.xml
存在于站点根目录下,那么你的 repository 地址可以只写主站点,例如https://www.test.com/updatePlugins.xml
可以直接使用https://www.test.com
。
(END)