Jenkins除了打包还能干什么?

听了老徐 老师的课,对Jenkins打包脚本很感兴趣,所以想去网路上自己了解一下,加深印象,对后续学习有所帮助。再加上没有在线听课,和大家一起讨论,所以听课感受的分享留在以后。

关于iOS的构建

ios源码进行构建,目标是要生成.ipa文件,即iOS应用安装包。

当前,构建方式主要包括两种:

源码->.archive文件 ->.ipa文件

源码->.app文件 ->.ipa文件

这两种方式的主要差异是生成的中间产物不同,对应的,两种构建方式采用的命令也不同。

源码->.archive->.ipa

8# build archive file from source code

xcodebuild \# xctool

-workspace${WORKSPACE_PATH}\

-scheme${SCHEME}\

-configuration${CONFIGURATION}\

-sdk${SDK}

-archivePath${archive_path}

archive

archive:对编译结果进行归档,会生成一个.xcarchive的文件,位于-archivePath指定的目录中。需要注意的是,对模拟器类型的sdk无法使用archive命令。


8# export ipa file from .archive

xcodebuild -exportArchive \

-exportFormat format \

-archivePath xcarchivepath \

-exportPath destinationpath \

-exportProvisioningProfile profilename \

[-exportSigningIdentity identityname]

[-exportInstallerIdentity identityname]

源码->.app->.ipa


7# build .app file from source code

xcodebuild \# xctool

-workspace${WORKSPACE_PATH}\

-scheme${SCHEME}\

-configuration${CONFIGURATION}\

-sdk${SDK}

-derivedDataPath${OUTPUT_FOLDER}

6# convert .app file to ipa file

xcrun \

-sdk iphoneos \

PackageApplication \

-v${OUTPUT_FOLDER}/Release-iphoneos/xxx.app \

-o${OUTPUT_FOLDER}/Release-iphoneos/xxx.ipa

参数说明

xcodebuild/xctool参数:

-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace结尾的;

-scheme:需要打包的Scheme,一般与$project_name相同;

-sdk:区分iphone device和Simulator,可通过xcodebuild -showsdks获取,例如iphoneos和iphonesimulator9.3;

-configuration:需要打包的配置文件,我们一般在项目中添加多个配置,适合不同的环境,Release/Debug;

-exportFormat:导出的格式,通常填写为ipa;

-archivePath:.xcarchive文件的路径;

-exportPath:导出文件(.ipa)的路径;

-exportProvisioningProfile:profile文件证书;

-derivedDataPath:指定编译结果文件的存储路径;例如,指定-derivedDataPath ${OUTPUT_FOLDER}时,将在项目根目录下创建一个${OUTPUT_FOLDER}文件夹,生成的.app文件将位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。


关于iOS的构建

ios源码进行构建,目标是要生成.ipa文件,即iOS应用安装包。

当前,构建方式主要包括两种:

源码->.archive文件 ->.ipa文件

源码->.app文件 ->.ipa文件

这两种方式的主要差异是生成的中间产物不同,对应的,两种构建方式采用的命令也不同。

源码->.archive->.ipa


8# build archive file from source code

xcodebuild \# xctool

-workspace${WORKSPACE_PATH}\

-scheme${SCHEME}\

-configuration${CONFIGURATION}\

-sdk${SDK}

-archivePath${archive_path}

archive

archive:对编译结果进行归档,会生成一个.xcarchive的文件,位于-archivePath指定的目录中。需要注意的是,对模拟器类型的sdk无法使用archive命令。


8# export ipa file from .archive

xcodebuild -exportArchive \

-exportFormat format \

-archivePath xcarchivepath \

-exportPath destinationpath \

-exportProvisioningProfile profilename \

[-exportSigningIdentity identityname]

[-exportInstallerIdentity identityname]

源码->.app->.ipa


7# build .app file from source code

xcodebuild \# xctool

-workspace${WORKSPACE_PATH}\

-scheme${SCHEME}\

-configuration${CONFIGURATION}\

-sdk${SDK}

-derivedDataPath${OUTPUT_FOLDER}


6# convert .app file to ipa file

xcrun \

-sdk iphoneos \

PackageApplication \

-v${OUTPUT_FOLDER}/Release-iphoneos/xxx.app \

-o${OUTPUT_FOLDER}/Release-iphoneos/xxx.ipa

参数说明

xcodebuild/xctool参数:

-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace结尾的;

-scheme:需要打包的Scheme,一般与$project_name相同;

-sdk:区分iphone device和Simulator,可通过xcodebuild -showsdks获取,例如iphoneos和iphonesimulator9.3;

-configuration:需要打包的配置文件,我们一般在项目中添加多个配置,适合不同的环境,Release/Debug;

-exportFormat:导出的格式,通常填写为ipa;

-archivePath:.xcarchive文件的路径;

-exportPath:导出文件(.ipa)的路径;

-exportProvisioningProfile:profile文件证书;

-derivedDataPath:指定编译结果文件的存储路径;例如,指定-derivedDataPath ${OUTPUT_FOLDER}时,将在项目根目录下创建一个${OUTPUT_FOLDER}文件夹,生成的.app文件将位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。

                               来源:http://blog.csdn.net/u011904605/article/details/60335442 

未完待续。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容