2016-07-28 3 views
1

현재 Symfony Bundle을 테스트하기 위해 Travis CI를 사용합니다. phpunit을가 dev 종속성으로 선언되어 있기 때문에 phpunit을 작곡가에 의해 설치됩니다Travis CI에서 phpunit.phar를 캐시하는 방법은 무엇입니까?

{ 
    … 
    "require" : { 
     "php": ">=5.5", 
     "symfony/symfony": "~2.7 || ~3.0" 
    }, 
    "require-dev": { 
     "doctrine/orm": "^2.4.8", 
     "symfony/assetic-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "doctrine/doctrine-fixtures-bundle": "~2.3", 
     "liip/functional-test-bundle": "~1.4", 
     "phpunit/phpunit": "4.8.* || ~5.1" 
    }, 
    … 
} 

나는 phpunit을 모두 확인하기 때문에 작곡가와 phpunit을 약간의 시간이 소요 설치, 각 빌드 후 ~/.composer 폴더를 캐시 트래비스 CI의 캐시를 사용하는 경우에도 그들을 설치하기 전에 의존성. 나는 트래비스 CI에서이 명령을 사용하는 경우에, phpunit을 한 번 다운로드됩니다

wget https://phar.phpunit.de/phpunit.phar 

: 그래서 약 하나의 명령에 설치 될 수 phpunit을의의 Phar 버전을 사용하여 생각


각 빌드에서. 이 캐시에이 방법이 있습니까 phpunit.phar 파일입니까? 쉬운 방법은 파일을 캐시에 저장하고 파일의 날짜를 확인한 다음 파일이 1 일 이상 경과하면 새 버전을 다운로드하는 것일 수 있지만 더 간단한 해결책이 될 수 있습니다.

PHPUnit에는 --self-update 옵션이 있지만, will be removed in the next major release 옵션이 있습니다.

답변

0

특정 디렉터리를 빌드간에 유지하도록 트래비스를 구성 할 수 있습니다 (documentation에 "캐싱"이라고 함).

은 단순히 트래비스 설정 파일에 다음과 같은 구성을 추가하고 /vendor 디렉토리에 걸쳐 지속 빌드해야합니다

cache: 
    directories: 
    - vendor 

당신은 여전히 ​​composer.json 파일이 변경 될 때 종속성을 업데이트하기 위해 빌드로 composer install 전화를 포함해야한다. composer install 프로세스의 속도를 높이려면 버전 관리에 composer.lock 파일을 추가 할 수도 있습니다.


물론 동일한 기능을 사용하여 다운로드간에 phpunit.phar 파일을 간단하게 유지할 수 있습니다.

+0

죄송합니다. 이미 Composer 캐시에 Travis CI 캐시를 사용하고 있음을 나타내는 것을 잊었습니다. –

+0

아, 알겠습니다. 다운로드 한'phpunit.phar' 파일을 캐시하는데 왜 사용하지 않으시겠습니까? – helmbert

+0

Travis가 모든 빌드에서 2.9 Mb의'phpunit.phar' 파일을 다운로드했기 때문에. –

관련 문제