gpt4 book ai didi

plugins - TeamCity 加载自定义插件,但没有证据表明插件代码运行

转载 作者:行者123 更新时间:2023-12-03 06:00:35 25 4
gpt4 key购买 nike

我正在尝试安装 TeamCity 并开发一个扩展 BuildServerAdapter 的插件。当我打包并将其安装到服务器时,teamcity-server.log 包含我的插件的条目:

  • 扫描插件(.BuildServer\plugins)文件夹时发现
  • 从服务器插件注册代理插件
  • 在共享类加载器中加载
  • 已加载

该插件也列在服务器管理的插件页面上。

除此之外……什么也没有。我通过记录器和 System.out 放入了各种日志语句,但我没有看到它们。我什至在构造函数中添加了一个异常,但在系统日志中我没有看到任何证据。当构建发生时,再次没有证据表明我的代码被调用。

public class CustomBuildServerAdapter extends BuildServerAdapter {

private SBuildServer myBuildServer;
private static final Logger LOG = Logger.getLogger(CustomBuildServerAdapter.class);

private void debug(String msg) { LOG.debug(msg); System.out.println(msg); }

public CustomBuildServerAdapter(SBuildServer aBuildServer) throws Exception {
throw new Exception("constructor is being called, at least we know that...");

//myBuildServer = aBuildServer;
//debug("constructor");
}

public void register() {
debug("registering");
myBuildServer.addListener(this);
debug("registered");
}

public void buildFinished(SRunningBuild build) {
debug("build finished");
postMessage(build.getFullName() + " - " + build.getStatusDescriptor().getText());
debug("message posted");
}

...

我复制到 .BuildServer\plugins 的 zip 具有以下结构:

  • MyTeamCityPlugin.zip
    • teamcity.plugin.xml
    • 服务器
    • MyTeamCityPlugin.jar
      • 包含类文件的包文件夹
      • 元信息文件
        • build-server-plugin.xml
        • MANIFEST.MF

看看其他插件,他们使用以下结构,所以我也尝试过。

  • MyTeamCityPlugin.zip
    • MyTeamCity插件
      • teamcity.plugin.xml
      • MyTeamCityPlugin.jar
        • 包含类文件的包文件夹
        • 元信息文件
          • build-server-plugin.xml
          • MANIFEST.MF

我的 build-server-plugin.xml 包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="constructor">
<bean id="myplugin" class="com.blah.blah.blah.CustomBuildServerAdapter" init-method="register"/>
</beans>

我参与其中,因为 teamcity-server.log 确实表明它了解该插件,并且不再抛出尝试加载它的异常。不幸的是,不犯错误并不等同于工作。

使用示例插件中的 ant 构建脚本,出现以下错误,因此我一直在手动打包内容。这导致上述加载看似成功。

Failed to initialize spring context for plugin MyTeamCityPlugin. Error creating bean with name 'simpleRunnerRunType': instantiation of bean failed.

任何人都可以给我正确运行所需的动力吗?

最佳答案

该网站将其描述为很简单(是的,如果它有效的话):

    1. Shut down TeamCity server.
2. Copy the zip archive with the plugin to <TeamCity Data Directory>/plugins.
3. Start the TeamCity server: the plugin files will be unpacked and processed automatically.

还有关于安装 TeamCity 插件的在线分步指南 here .

关于plugins - TeamCity 加载自定义插件,但没有证据表明插件代码运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com