【问题标题】:Jenkins start applicaitonService on slave using ant and bat fileJenkins 使用 ant 和 bat 文件在 slave 上启动 applicaitonService
【发布时间】:2018-04-15 20:00:24
【问题描述】:

我正在使用主/从詹金斯。现在,我在 Windows 上有一台 Jenkins Slave 机器。在从机上,我有一个 ANT 文件,它使用

调用了一个 .bat 文件
<exec executable = "<some-location>\applicationService.bat" > <arg value = "start"> </exec>

使用 Jenkins Job 我正在调用这个 ANT 文件。此 ANT 文件成功运行(显示在 Jenkins 控制台日志上)但服务未启动。我确实检查了任务管理器和日志。这个 applicationService.bat 启动一个 Java Spring 服务。当我在从机上手动运行这个 ANT 时,它按预期工作。

请提出建议。

使用这些步骤创建了从站:https://wiki.jenkins.io/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines+on+Windows

【问题讨论】:

    标签: batch-file jenkins ant


    【解决方案1】:

    当我在从机上手动运行此 ANT 时,它按预期工作。

    您可以手动执行此操作的事实表明您的情况是权限问题

    • 确保您以管理员身份连接从站,并且在从站上运行 jenkins 作业的用户有权启动 Java Spring 服务。

    【讨论】:

    • 我认为这不是权限问题。 Jenkins 能够运行 ANT 脚本。因为它确实在 ANT 文件中执行了任务,例如解压缩工件等。只有运行 .bat 文件的任务在 Ant 日志中显示为成功,但从机中没有启动任何服务。
    【解决方案2】:

    在 Windows 下,bat 文件需要使用 /c 开关从 cmd 执行,而不是直接作为它们自己的可执行文件。

    <exec executable="cmd">
        <arg value="/c" />
        <arg value="path/to/file/location/applicationService.bat" />
        <arg value="start" />
    </exec>
    

    【讨论】:

    • 谢谢。这行得通。服务已启动。但是我看不到从机上打开的命令提示符窗口。有什么原因吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多