2014-08-27 1 views
0

저는 빌드 도구에 대한 핸들을 얻으려고하고 있으며, 몇 가지 기본 사항으로 고심하고 있습니다.'build'폴더는 CodeIgniter에 어디에 속합니까?

로컬 Win7 컴퓨터에서 XAMPP를 사용하고 있습니다. 내가 설정 가상 호스트는 그래서 여러 응용 프로그램에서 작업 할 수 있습니다했습니다

그래서이있다 (\ XAMPP \ 아파치 \ conf의 \ 추가 \ 아파치 - 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"/> 

, 기본 디렉토리하는 곳 모두에서 장소입니다 경로 계산이 완료됩니다. 기반 디렉토리 및 개미 스크립팅에 대한 자세한 내용은 this 링크를 참조하십시오. 일반적으로 프로젝트의 출력 (클래스 파일, Java 프로젝트의 경우)은 빌드 폴더 아래에 있습니다. 나는 PHP 프로젝트에서 일하지 않았지만 위에 언급 한 성명에서 ""빌드 스크립트는 PHP_CodeSniffer 및 PHPMD에 대한 규칙 집합이 build/phpcs.xml 및 build/phpmd.xml에 있다고 가정합니다. ", Ant 스크립트는 두 개의 XML 파일이 동일한 빌드 폴더 아래에 있어야한다고 가정합니다. 해당 XML의 위치를 ​​다른 위치로 변경할 수 있지만 수행하려는 작업을 이해 한 후에는 입니다.

build.xml 파일에서 사용자 정의를 마쳤 으면이 파일을 Jenkins에서 사용합니다 (Build > Invoke Ant 섹션 아래). Jenkins는 정의 된 매개 변수가있는 경우 스크립트를 실행합니다.

업데이트 : 그것은 당신이 생각하는 방식처럼 정말 아니다
. 방금 프로젝트와 내 경험에서 폴더 빌드의 중요성을 설명했다. 여기서 PHP에있는 경우, build 디렉토리는 과 같으며 phpmd.xml, phpmd.xml 등과 같은 모든 빌드 관련 스크립트는으로 유지됩니다.

개미는 이 아니고빌드 디렉토리를 만듭니다.

<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.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는 빌드 폴더 (빌드 자체에서 생성)에서 빌드 지침을 찾으려고합니까?!?!? 내가 뭘 놓치고 있니? – Maxcot

+0

@Maxcot : 내 대답에 업데이트를 확인하십시오. – Technext

+0

Brilliant. 매우 자세한 설명을 해주셔서 감사합니다. – Maxcot

관련 문제