3

我目前在獨立服務器上使用Jenkins進行iOS持續集成。 Jenkins構建,測試並創建HTML鏈接,以便可以從臨時設備(Continuous Delivery)下載應用程序。持續集成環境中的iOS App Store版本

每當我做一個App Store發佈時,我就會得到我想要的構建代碼,並且從中構建它。這提出了一個問題,因爲雖然代碼是相同的,但由於涉及兩臺不同的機器,二進制不能保證是相同的。

您通常會看到,在持續集成發佈中,應該是非事件。這適用於我的日常構建,但是,在持續集成環境中製作App Store版本的最佳方法是什麼?

回答

1

我最終在Jenkins中添加了一項只能建立.xcodearchive的新工作。該作業屬於管道,是最後執行的任務。用於構建存檔的命令是:

xcodebuild -scheme ${JK_SCHEMA_NAME} -archivePath ${JK_OUTPUT_DIR}/${JK_ARCHIVE_NAME} clean archive "CODE_SIGN_IDENTITY=${JK_CODE_SIGN_IDENTITY}" "GCC_PREPROCESSOR_DEFINITIONS=${GCC_PREPROCESSOR_DEFINITIONS} ${JK_GCC_PREPROCESSOR_DEFINITIONS}" "PROVISIONING_PROFILE=${JK_PROVISIONING_PROFILE_UDID}" 

這樣我可以確保流動提供一個應用程序從提交到最終的二進制的商店是完全自動的(或至少不需要人工交互) 。版本號已正確設置,並且源代碼或編譯選項中沒有任何更改可以更改上載到商店的最終歸檔。