Jenkins除了打包還能干什么?

聽(tīng)了老徐 老師的課,對(duì)Jenkins打包腳本很感興趣,所以想去網(wǎng)路上自己了解一下,加深印象,對(duì)后續(xù)學(xué)習(xí)有所幫助。再加上沒(méi)有在線聽(tīng)課,和大家一起討論,所以聽(tīng)課感受的分享留在以后。

關(guān)于iOS的構(gòu)建

對(duì)ios源碼進(jìn)行構(gòu)建,目標(biāo)是要生成.ipa文件,即iOS應(yīng)用安裝包。

當(dāng)前,構(gòu)建方式主要包括兩種:

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

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

這兩種方式的主要差異是生成的中間產(chǎn)物不同,對(duì)應(yīng)的,兩種構(gòu)建方式采用的命令也不同。

源碼->.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:對(duì)編譯結(jié)果進(jìn)行歸檔,會(huì)生成一個(gè).xcarchive的文件,位于-archivePath指定的目錄中。需要注意的是,對(duì)模擬器類型的sdk無(wú)法使用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

參數(shù)說(shuō)明

xcodebuild/xctool參數(shù):

-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace結(jié)尾的;

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

-sdk:區(qū)分iphone device和Simulator,可通過(guò)xcodebuild -showsdks獲取,例如iphoneos和iphonesimulator9.3;

-configuration:需要打包的配置文件,我們一般在項(xiàng)目中添加多個(gè)配置,適合不同的環(huán)境,Release/Debug;

-exportFormat:導(dǎo)出的格式,通常填寫為ipa;

-archivePath:.xcarchive文件的路徑;

-exportPath:導(dǎo)出文件(.ipa)的路徑;

-exportProvisioningProfile:profile文件證書(shū);

-derivedDataPath:指定編譯結(jié)果文件的存儲(chǔ)路徑;例如,指定-derivedDataPath ${OUTPUT_FOLDER}時(shí),將在項(xiàng)目根目錄下創(chuàng)建一個(gè)${OUTPUT_FOLDER}文件夾,生成的.app文件將位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。


關(guān)于iOS的構(gòu)建

對(duì)ios源碼進(jìn)行構(gòu)建,目標(biāo)是要生成.ipa文件,即iOS應(yīng)用安裝包。

當(dāng)前,構(gòu)建方式主要包括兩種:

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

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

這兩種方式的主要差異是生成的中間產(chǎn)物不同,對(duì)應(yīng)的,兩種構(gòu)建方式采用的命令也不同。

源碼->.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:對(duì)編譯結(jié)果進(jìn)行歸檔,會(huì)生成一個(gè).xcarchive的文件,位于-archivePath指定的目錄中。需要注意的是,對(duì)模擬器類型的sdk無(wú)法使用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

參數(shù)說(shuō)明

xcodebuild/xctool參數(shù):

-workspace:需要打包的workspace,后面接的文件一定要是.xcworkspace結(jié)尾的;

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

-sdk:區(qū)分iphone device和Simulator,可通過(guò)xcodebuild -showsdks獲取,例如iphoneos和iphonesimulator9.3;

-configuration:需要打包的配置文件,我們一般在項(xiàng)目中添加多個(gè)配置,適合不同的環(huán)境,Release/Debug;

-exportFormat:導(dǎo)出的格式,通常填寫為ipa;

-archivePath:.xcarchive文件的路徑;

-exportPath:導(dǎo)出文件(.ipa)的路徑;

-exportProvisioningProfile:profile文件證書(shū);

-derivedDataPath:指定編譯結(jié)果文件的存儲(chǔ)路徑;例如,指定-derivedDataPath ${OUTPUT_FOLDER}時(shí),將在項(xiàng)目根目錄下創(chuàng)建一個(gè)${OUTPUT_FOLDER}文件夾,生成的.app文件將位于${OUTPUT_FOLDER}/Build/Products/${CONFIGURATION}-iphoneos中。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?來(lái)源:http://blog.csdn.net/u011904605/article/details/60335442?

未完待續(xù)。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容