2017-12-14 20 views
8

큰 Symfony 프로젝트가 몇 개 있으며 Symfony 4 (Flex)로 모든 사항을 업데이트 한 후 배포 자동화가 다음과 같은 정상 프로세스를 실행할 때이를 알 수 있습니다. 에 포함 된 내용에 따라 예상대로Symfony Flex 및 --no-dev를 사용하여 프로덕션 환경에 배포

Symfony operations: 2 recipes (72fad9713126cf1479bb25a53d64d744) 
    - Unconfiguring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:master 
    - Unconfiguring phpunit/phpunit (>=4.7): From github.com/symfony/recipes:master 

그런 다음,이 symfony.lockconfig/bundles.php 변경 결과, 플러스 어떤 다른 :

composer install --no-dev

우리는 (예를 들어)이와 끝까지 require-devcomposer.json입니다.

아무 것도 없지만 정확히 더 이상출력이없는 프로덕션 배포를 수행하는 것은 귀찮습니다. 실제로 배포 된 내용에 대해 혼동을 줄 수 있습니다.

예를 들어 그 물건을 배포에 진짜 해가 없기 때문에 그냥 require보다는 require-dev 모든 것을 넣을 수도 있고, 내가 작곡가 명령의 --no-dev 일부를 생략 할 수있다, 이것에 대한 여러 가지 해결 방법이 있습니다.

하지만 실제로 여기 올바른 연습이란 무엇입니까? 잠긴 부분의 소프트웨어를 배포하는 경우 Flex에 구성을 변경하지 말라고 말하는 방법이 없다는 것은 이상한 것 같습니다. 이 기능 요청입니까, 아니면 여기서 약간의 구성을 놓쳤습니까?

+0

당신은 repo에'symfony.lock' 파일을 위탁 했습니까? 배포시이 문제가 발생하지 않도록해야합니다. – yceruto

+0

아마도 https://stackoverflow.com/q/47071211/4224384와 관련이 있습니다 – yceruto

+0

@yceruto 예, 버전 symfony.lock은 버전 관리하에 있습니다. 실제로는 반대의 문제입니다 :'--no-dev'가 지정 되었기 때문에 Flex는'require-dev'의 멤버가 제거되고 있다고 생각하기 때문에 적절하게'manifest.json'을 기반으로 unconfigure 단계를 실행합니다 요리법. 필자의 예에서는'phpunit.xml.dist' 파일을 삭제하고 Maker 번들을'config/bundles.php'에서 삭제하는 것을 의미합니다. 프로덕션 배포시 이러한 동작을 방지 할 수있는 방법이있는 것처럼 보입니다. – futureal

답변