那么,你指的链接是关于Ant项目以及如何与Jenkins一起使用它。我希望你已经完成了Jenkins的安装。在Ant中,您有一个XML文件(通常是build.xml),您可以在其中定义各种目标。每个目标都会执行一些工作,比如清理(最后编译的编译二进制文件),编译,打包等。如果您不了解Ant脚本的工作方式,则必须仔细阅读详细信息。至于构建文件夹而言,如果将通过提供用于build.xml文件link,你会看到这几行:
<arg value="${basedir}/build/phpmd.xml"/>
<arg value="--standard=${basedir}/build/phpcs.xml"/>
在蚂蚁,BASEDIR是从那里所有的地方路径计算完成。有关basedir和Ant脚本的详细信息,请参阅this链接。通常,您的项目的输出(类文件,在Java项目的情况下)被放置在构建文件夹下。我没有参与过PHP项目,但是从上面提到的声明,即“构建脚本假定PHP_CodeSniffer和PHPMD的规则集位于build/phpcs.xml和build/phpmd.xml。”, Ant脚本假定这两个XML文件应位于相同的构建文件夹下。在您明白自己在做什么之后,您可以将这些XML的位置更改为任何其他位置,但仅限。
在build.xml文件中完成自定义后,您将在Jenkins中使用此文件(位于Build > Invoke Ant
部分下)。如果有的话,詹金斯将简单地使用您定义的参数运行脚本。
更新:
这不是真的像你想的方式。我刚刚解释了构建文件夹的意义,从我的经验Java项目。在PHP中,如果您浏览Ant文件,您会意识到build
目录更像是所有与生成相关的脚本(如phpmd.xml,phpmd.xml等)都保留为的目录。
蚂蚁是不是创建构建目录。相反,它的主要意图是确保build目录内的子目录存在如从代码明确提到如下:
<target name="prepare" depends="clean" description="Prepare for build">
<mkdir dir="${basedir}/build/api"/>
<mkdir dir="${basedir}/build/coverage"/>
<mkdir dir="${basedir}/build/logs"/>
<mkdir dir="${basedir}/build/pdepend"/>
<mkdir dir="${basedir}/build/phpdox"/>
</target>
的文件夹内 build目录其实都是这里的build.xml的输出被存储为是从下面的语句明确的目录:
Executing the build.xml script will produce the following build directory:
build
|-- api ...
|-- coverage ...
`-- logs
|-- checkstyle.xml
|-- clover.xml
|-- crap4j.xml
|-- jdepend.xml
|-- junit.xml
|-- phploc.csv
|-- pmd-cpd.xml
`-- pmd.xml
谢谢,这是一个很好的解释。我感觉到,但我错过了一些东西。这听起来像一个循环:Ant创建“构建”文件夹。 Ant期望在build文件夹中找到构建指令(它自己创建)?!?!?我错过了什么? – Maxcot 2014-08-28 03:33:29
@Maxcot:请检查我的答案中的更新。 – Technext 2014-08-28 13:48:24
辉煌。非常感谢您提供非常详细的解释。 – Maxcot 2014-08-28 17:36:45