1

我需要你的帮助 !

我想知道 Hudson 如何生成作业的 config.xml?

我解释:我想在我的应用程序中添加一个类似 hudson 的构建工具,为此,用户将像在 Hudson 的 GUI 中一样,定义一些参数,如 jdk 的路径、pom.xml 的存储位置等。 . 然后生成此作业的 config.xml。

一旦我有了这项工作的 config.xml,我将创建并构建它。

我试图搜索 Hudson 的 API,但这都是关于创建工作、构建、删除......但没有办法给它参数(个性化它)。这是一个“创建”代码示例:

private void put(HttpClient client, String hudsonBaseURL,String jobName ,File configFile) throws IOException, HttpException {
    PostMethod postMethod = new PostMethod(hudsonBaseURL+ "/createItem?name=" + jobName);
    postMethod.setRequestHeader("Content-type","application/xml; charset=ISO-8859-1");
    postMethod.setRequestBody(new FileInputStream(configFile));
    postMethod.setDoAuthentication(true);
    try {
        int status = client.executeMethod(postMethod);
        System.out.println("Projet existe déjà\n"+status + "\n"+ postMethod.getResponseBodyAsString());
    } finally {
        postMethod.releaseConnection();
    }
}

此方法需要 config.xml 来创建作业。

我现在正试图在其类中查看 hudson.war 的内容,但我不得不说这并不容易。

我希望我很清楚。

任何想法都会受到欢迎。

纳赛夫。

4

1 回答 1

7

我建议使用Hudson 的远程 API来自动创建工作。

看看http://your.hudson.server/api。Hudson 将返回远程 API 的 HTML 文档。在Create Job下,您会看到可以将config.xml 发布到 Hudson URL 以创建作业。您应该能够手动创建模板作业,然后将该config.xml用作自动化系统中的模板。

如上一个答案中所述,作业配置可以在HUDSON_HOME/jobs/[name]/config.xml.

于 2010-10-21T16:33:25.203 回答