我目前在独立服务器上使用Jenkins进行iOS持续集成。 Jenkins构建,测试和创建HTML链接,以便可以从ad-hoc设备下载应用程序(持续交付)。
每当我发布App Store时,我都会获得我想要的构建代码,并且我会构建它。这提出了一个问题,因为虽然代码是相同的,但由于涉及两台不同的机器,二进制文件不能保证是相同的。
您通常会读到,在持续集成中,发布应该是非事件。这适用于日常构建,但是,在持续集成环境中制作App Store的最佳方法是什么?
答案 0 :(得分: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}"
这样我可以确保从提交到商店的最终二进制文件的流程是完全自动化的(或者至少不需要人工交互)。版本号已正确设置,并且源代码或编译选项中没有任何更改可能会更改上载到商店的最终存档。