2014-02-28 179 views
0

我們使用的是作曲家,SATIS和SVN來管理我們的內部PHP庫。 我們在開發過程中對SVN主幹進行了更改,然後在準備測試時標記版本(遵循語義版本控制)。 對庫版本進行標記後,我們可以使用作曲者作爲部署到測試環境的一部分。在成功測試之後,我們會將該版本部署到生產環境中。作曲家和SATIS代碼以進行測試和督促

這裏的問題是,一旦我們已經標記爲測試版本,我們必須非常小心,因爲新版本標記將被作曲家準備下一督促發行時有所回升。

什麼我想象的是,我們會標記一個版本作爲測試版或RC(例如v1.1RC1),並以某種方式配置我們的部署過程,使得它會拒絕一個RC或β部署到生產環境。如果版本測試成功,我們會將該版本重新標記爲發佈版本(v1.1RC1 - > v1.1)併發布該版本。

這可以實現嗎?

回答

0

從你說的話,我知道你其實害怕標記庫的新版本,因爲該代碼實際上可以使用,打破其他應用程序,對不對?

一個辦法是做好測試。我沒有看到它應該是一個問題來標記一個圖書館的版本。如果測試全部是綠色的,應該沒有理由不標記它。即使測試基本上只是「讓我們看看它是否有效,手動」,這也是可行的。

現在,第二步是將該新版本集成到應用程序中:運行composer update並查看應用程序是否仍在運行,即啓動所有測試並等待綠色。

我想這可能是一個好主意,有一個單獨的區域,您檢查出應用程序,故意運行composer update來獲取所有最新的庫,運行所有測試並報告a)有更新和b)它們工作。那麼開發人員應該確認更新,即手工做一遍,並承諾所產生的composer.lock文件,或抓住從該更新測試所得鎖定文件。

我不認爲存在使用非生產發行版本的好處。無論如何,您必須處理下一個版本 - 不斷切換最低穩定性設置或將@RC@beta標誌添加到庫的版本要求中並不真正有幫助。