2017-12-14 96 views
8

के साथ उत्पादन वातावरण पर तैनाती में मेरे पास कुछ बड़ी सिम्फनी परियोजनाएं हैं, और आपने देखा है कि सिम्फनी 4 (फ्लेक्स) में सबकुछ अपडेट करने के बाद, जब हमारी परिनियोजन स्वचालन इसकी सामान्य प्रक्रिया चलाता है:सिम्फनी फ्लेक्स और --no-dev

composer install --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.lock और config/bundles.php में परिवर्तन में परिणाम है, के साथ साथ जो कुछ भी, क्या में शामिल किया गया था पर निर्भर करता है 01 composer.json में।

इनमें से कोई भी तोड़ रहा है, बिल्कुल नहीं, लेकिन उत्पादन तैनाती के लिए यह परेशान है कि अब git status आउटपुट साफ़ नहीं है, और वास्तव में जो तैनात किया गया है, उसके बारे में भ्रम पैदा कर सकता है।

इस के लिए विभिन्न समाधान कर रहे हैं, उदाहरण के लिए मैं बस के बाद से वहाँ सामान की तैनाती में कोई वास्तविक नुकसान है require बजाय require-dev में सब कुछ डाल सकता है, या मैं संगीतकार आदेश की --no-dev हिस्सा छोड़ सकता है।

लेकिन वास्तव में, यहां सही अभ्यास क्या है? ऐसा लगता है कि फ्लेक्स को कॉन्फ़िगरेशन में कोई बदलाव नहीं करने का कोई तरीका नहीं है यदि आप केवल सॉफ्टवेयर के लॉक किए गए टुकड़े को तैनात कर रहे हैं। क्या यह एक फीचर अनुरोध है, या क्या मैंने यहां कुछ कॉन्फ़िगरेशन याद किया है?

+0

क्या आपने रेपो को 'symfony.lock' फ़ाइल प्रतिबद्ध की है? तैनाती पर इस मुद्दे से बचने के लिए आवश्यक है। – yceruto

+0

शायद https://stackoverflow.com/q/47071211/4224384 – yceruto

+0

@yceruto हां से संबंधित है, 'symfony.lock' संस्करण नियंत्रण में है। यह वास्तव में विपरीत समस्या है: चूंकि '--no-dev' निर्दिष्ट किया गया है, इसलिए फ्लेक्स सोचता है कि' requ-dev' के सदस्यों को हटाया जा रहा है, इसलिए यह उचित में 'manifest.json' के आधार पर असंगत चरणों को चलाता है व्यंजनों। मेरे उदाहरण में, इसका अर्थ है 'phpunit.xml.dist' फ़ाइल को हटाना और' config/bundles.php' से निर्माता बंडल को हटा देना। ऐसा लगता है कि उत्पादन व्यवहार पर इस व्यवहार को रोकने के लिए एक तरीका होना चाहिए। – futureal

उत्तर