[英]Automate creation of Composer command for upgrading TYPO3 to next major version
目前正在使用 TYPO3 v9 Composer將 TYPO3 站點升級到下一個主要版本 10.4。
如何自動化該過程 - 而不是手動將 composer 命令放在一起,我必須檢查每個擴展並找出我需要升級到哪個版本,有沒有辦法自動執行此操作或協助創建composer require
命令所有系統和第三方擴展?
例如,結果我想執行這個(或等效的):
composer require typo3/cms-backend:10.4 typo3/cms-core:10.4 ...(all system extension) \
... helhum/typo3-console:^6.0.0 ... (3rdparty extensions with correct version constraint) \
--update-with-dependencies
自動更新是一個好主意,因為它減少了重新啟動所需的后端鎖定/內容凍結時間。
我最終重新啟動的步驟是:
為了使其工作,您只需要一個腳本,該腳本允許您根據需要在本地(或作為 CI 管道)重復更新過程,直到您對可重現的結果感到滿意為止。
我知道有一些幫助腳本/擴展來促進這一點,但我更喜歡將它們作為 shell 腳本放在一起。 在本地,我將擁有最新的代碼,我們現在准備的是一個將新代碼與舊數據集成的腳本(“數據”我指的是 DB 和 /fileadmin,/uploads)。
所以這里只是一些指針:
ddev pull
命令,可以方便地獲取實時數據。 到目前為止,我將此自定義命令用於 ddev 。vendor/bin/typo3 cleanup:
命名空間中的命令可以降低您處理不一致數據庫的可能性vendor/bin/typo3cms upgrade:wizard
運行它們vendor/bin/typo3cms database:import <<< "UPDATE tt_content SET hidden=1 WHERE..."
vendor/bin/typo3cms database:updateschema
對於您的問題:
我是一次性更新核心和 3rdparty 擴展,還是停用(一些?)3rdparty 擴展更安全
如果安裝了某些擴展,某些升級向導的行為可能會有所不同。 對於依賴 TCA 的遷移尤其如此。 所以我建議一步更新所有擴展。
另外,我如何自動化這個過程(作曲家命令)
我這樣做的方式是你只需要運行一次 composer 命令,然后你提交composer.lock
。 構建它可能有點麻煩,但我認為不需要自動化它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.