2014-08-27 37 views
0

我正在尝试构建工具,我正在努力处理一些基础知识。CodeIgniter中的“build”文件夹属于哪里?

我在本地Win7机器上使用XAMPP。我设置虚拟主机,所以我可以在多个应用程序工作

所以我有这个(\ XAMPP \ apache的\的conf \额外\的httpd-vhosts.conf):

app1 
    php 
     application 
      cache 
      config 
      controllers 
      core 
      ... 
      views 
     assets 
     system 
    tests 
    vendor 

app2 
    php 
     application 
         ...etc 

现在我在尝试安装和设置詹金斯,使用本指南:http://jenkins-php.org/automation.html

它然后在“自动化”说.... 构建脚本假定规则集PHP_CodeSniffer和PHPMD位于编译/ phpcs.xml和构建/phpmd.xml。

从哪里来的?它属于哪里?

回答

1

那么,你指的链接是关于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 
+0

谢谢,这是一个很好的解释。我感觉到,但我错过了一些东西。这听起来像一个循环:Ant创建“构建”文件夹。 Ant期望在build文件夹中找到构建指令(它自己创建)?!?!?我错过了什么? – Maxcot 2014-08-28 03:33:29

+0

@Maxcot:请检查我的答案中的更新。 – Technext 2014-08-28 13:48:24

+0

辉煌。非常感谢您提供非常详细的解释。 – Maxcot 2014-08-28 17:36:45