我创建了一个Jenkins管道作业。在这项工作中,我想使用Ant进行构建。我已将管理**Jenkins > Global Tool Configuration**
中的Ant变量配置为Ant1.9.1= D:\path_to_hybris\hybris\bin\platform\apache-ant-1.9.1
。
在freestyle jenkins Job中,我知道build.xml位置可以在下面的屏幕截图中指定:
但是我无法理解如何在此之后指定ant groovy脚本,特别是在哪里可以提到build.xml文件的路径:
def antHome = tool 'Ant1.9.1'
????
????
答案 0 :(得分:6)
你可以试试这个:
def antVersion = 'Ant1.9.1'
withEnv( ["ANT_HOME=${tool antVersion}"] ) {
sh '$ANT_HOME/bin/ant target1 target2'
}
在Windows下,这看起来像这样(虽然我没有测试过):
def antVersion = 'Ant1.9.1'
withEnv( ["ANT_HOME=${tool antVersion}"] ) {
bat '%ANT_HOME%/bin/ant.bat target1 target2'
}
这假设您在Jenkins中使用名称' Ant1.9.1'配置了Ant。
答案 1 :(得分:2)
你可以在Jenkins的管道groovy脚本中使用ant包装器。
withAnt(installation: 'LocalAnt') {
// some block
sh "ant build"
//for windows
bat "ant build"
}
请记住在Jenkins“全局工具配置”中使用相同名称“LocalAnt”配置ant工具。
答案 2 :(得分:0)
我需要在需要同时在Linux和Windows代理上执行的同一Jenkinsfile中多次执行此操作,因此我为此创建了一个方法。
你可以这样叫蚂蚁
callAnt("-v -p")
如果将此方法定义添加到jenkinsfile
def callAnt(String Parameters) {
if (isUnix()) {
env.PATH = "${tool 'ant'}/bin;${env.PATH}"
sh "ant ${Parameters}"
}
else {
env.PATH = "${tool 'ant'}\\bin;${env.PATH}"
bat "ant ${Parameters}"
}
}