0

我在考慮通過追加「-DEBUG」來允許我同時安裝一個版本和一個在同一個設備上調試它的版本(並且還可以幫助處理Crashlytics過濾等問題,儘管還有其他方法可以解決這個問題),但是它會對谷歌應用引擎後端造成問題,因爲所有安全功能都與應用名稱綁定在一起他們應該是。使用不同的應用程序ID進行調試/ QA(通過gradle Build Flavor)和Google App Engine

我在想兩種可能的解決方案,但想看看是否有其他人遇到過這個問題,並且可能有一個更優雅的方法。

1)代替,我可以改變經由gradle這個versionNameSuffix該應用版本,雖然這不允許兩個版本的應用程式共存

2)寄存器二者應用ID與應用程序引擎後端

我在想這個錯誤的方式嗎?一般來說,人們如何處理應用程序的Release和QA實例並設置其後端的相應版本?此外,發佈與QA後端實例是否共享相同的數據存儲?謝謝。

回答

0

就我個人而言,我一直使用你正在考慮的後綴方法,除了更系統的後綴集(-dev如果有一個「開發中」版本,-dev-<developersusername>如果團隊中的每個開發人員都獲得一個單獨的後綴, -staging-qa,-canary,-prod等,這取決於給定應用的確切部署工作流程)。

而且,我需要從各種版本中使用的任何外部系統(例如您的應用引擎後端),我將註冊所有相關版本。通常情況下,一個小的,簡單的腳本,使輕工作! - )

我認爲這是非常冒險的共享數據存儲或其他生產版本(其數據可能是寶貴的,絕對要保存)以及可能存在漏洞的開發版本 - 新版本中的某種預期錯誤不會消除寶貴的即將保存的生產數據嗎?

+0

感謝您的回覆。所以在這種情況下,你是否爲每種構建類型(staging,qa,canary,prod等)創建了完全不同的後端項目?或者GAE是否允許數據存儲的「實例化」或「版本控制」? – Creos 2015-02-07 23:21:45

+0

@Creos,GAE數據存儲具有*名稱空間*,可以對數據存儲進行分區/分段 - 但是確切地定義了在某個時間點使用的名稱空間取決於應用程序,因此也可能受到bug ......太冒險。所以我更喜歡單獨的GAE應用程序,所以我可以肯定**新的越野車不會破壞寶貴的數據 - bulkload.py有助於「複製」現有已填充的數據存儲區中的一些或全部以播種新的數據存儲區,如果這對於測試和開發,或者,控制檯也可以提供幫助(但我更喜歡使用腳本來確保整個過程的完全可重複性......)。 – 2015-02-07 23:29:38

+0

感謝你。但是我有點困惑 - 在你的回答中,你指的是「應用程序版本」(當我在這裏說應用程序時,我的意思是客戶端應用程序),這讓我覺得你的意思是你在應用程序版本中附加說「-QA」 。但是,這不起作用,因爲他們的應用程序ID將保持不變,並且您不能註冊具有不同GAE後端的相同應用程序ID。那麼你是說你使用後綴方法創建完全不同的應用程序ID,而不是不同的應用程序版本ID?感謝您的澄清。 – Creos 2015-02-08 01:56:18

相關問題