簡體   English   中英

Jenkins插件如何工作

[英]How Jenkins plugins works

我遇到了第一次開發自己的Jenkins插件的情況。 該插件的主要目的是向Google Cloud Platform發布消息。 我在Jenkins中編寫的所有代碼都可以在eclipse的本地環境中正常工作。 但是,當我在Jenkins中使用相同的代碼時,會導致一些依賴項錯誤。 任何幫助都非常感謝。

謝謝。

注意: Jenkins和Eclipse在同一台計算機上,這確實是我關心的一個問題。

從Eclipse運行插件時,Eclipse使用M2eclipse插件將依賴項添加到類路徑。

Jenkins僅解決插件之間的依賴關系。 此外,Jenkins期望.hpi軟件包是獨立的,即包含您需要的所有JAR依賴項。 mvn package應該復制所有依賴項的jar文件,並將它們放在WEB-INF/lib文件夾中的.hpi文件中。

在您的特定情況下,似乎Google Cloud實現期望在類路徑上實現某種渠道服務提供商,因此您應該添加對grpc-okhttp或grpc-netty的依賴項,以便它們也打包到.hpi文件中。

有時可能會選擇類加載器問題,因此請在調用Google類之前添加以下代碼行。

Thread.currentThread()setContextClassLoader(的getClass()getClassLoader()。)。

還要在Jenkins插件pom.xml中添加以下代碼,以指定Jenkins應該首先加載pom.xml中的依賴項,而不是Jenkins依賴項。

<pluginManagement>
    <plugins>
        <plugin>
          <groupId>org.jenkins-ci.tools</groupId>
          <artifactId>maven-hpi-plugin</artifactId>
          **<configuration>
            <pluginFirstClassLoader>true</pluginFirstClassLoader>
          </configuration>**
        </plugin>
    </plugins>
</pluginManagement>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM