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 

未完待续。。。。

    原文作者:NikiLyu0321
    原文地址: https://www.jianshu.com/p/0371cef06dba
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞