1

私はジェンキンスでGroovyスクリプト画面を使用しています。つまりhttp://localhost:8080/jenkins/script、これは非常に素晴らしいです。私は簡単な拡張機能を書きました:

jenkins = jenkins.model.Jenkins.getInstance()

@hudson.Extension
public class MyGroovyListener extends hudson.slaves.ComputerListener {
    public void onOnline( computer, taskListener ) {
        System.out.println("groovy onOnline " + computer + " " + taskListener );
    }
}

今、私はどうにかして拡張機能を登録したいと思っています。私は試した:

jenkins.refreshExtensions()

...しかし、喜びはありません。

Groovy スクリプト Web ページから拡張クラスを登録するにはどうすればよいですか?

4

2 に答える 2

0

これは、同じ投稿者による Google グループの投稿でより適切に回答されましたが、現在は古くなっている可能性があります。上記の問題GROOVY-3361はまだ存在しており、Groovy クラスでアノテーションを処理およびスキャンする方法が制限されているようです。

Jenkins の Groovy コードで拡張ポイントに対して登録できないのは本当に残念です。

hudson.ExtensionFinderそれ自体がJavaで書かれなければならないカスタムでそれが可能であるかどうか、私はまだ疑問に思っています。しかし、そこまで掘り下げている時間はありません。

于 2018-11-07T16:09:37.347 に答える
0

Jenkins プラグインを構築するには、もう少し作業が必要です

groovy でビルドできますが、プラグイン画面からロードする HPI (特殊化された JAR ファイル) である必要があります。gradle、gent、および Kiyotaka によって構築された例が必要です。

https://github.com/kiy0taka/jenkins-plugin.gent

gent --name=<proj> kiy0taka/jenkins-plugin
cd <proj>
./gradlew server

gradlew ステップは、プラグインがロードされた状態でローカル Jenkins サーバーを起動します

構成およびビルド設計ステップ用のフォーム コンポーネントをビルドし、構成データのシリアル化も処理する必要があるため、さらに多くのことが必要です。

于 2013-07-23T10:37:38.213 に答える