簡體   English   中英

如何將Xcode Bot集成號添加到構建腳本中

[英]How to Add Xcode Bot Integration Number Into Build Script

我正在創建一個帶有Settings.bundle文件的iPad應用程序。 我正在編寫構建腳本來顯示應用程序版本號和xcode bot集成號(而不是bundle build number)。 我在網上搜索過,找不到任何解決方案。 這是我得到的:

-- Add the app version number
cd $PROJECT_DIR
cd "$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app"

RELEASE_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" Info.plist)
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:1:DefaultValue $RELEASE_VERSION" Settings.bundle/Root.plist

-- Add the build version number
BUILD_NUMBER=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" Info.plist)
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:2:DefaultValue $BUILD_NUMBER" Settings.bundle/Root.plist

在構建版本號中,我想用xcode bot集成號替換CFBundleVersion。

我在我的Xcode項目中使用Shell腳本構建階段實現了這一點。 就我而言,我使用集成號來設置我構建產品的內部版本 我的腳本看起來像這樣:

if [ "the$XCS_INTEGRATION_NUMBER" == "the" ]; then
    echo "Not an integration build…"
    xcrun agvtool new-version "10.13"
else
    echo "Setting integration build number: $XCS_INTEGRATION_NUMBER"
    xcrun agvtool new-version "$XCS_INTEGRATION_NUMBER"
fi

請注意, Xcode服務器構建環境中默認存在XCS_INTEGRATION_NUMBER 如果要模擬集成構建(出於此腳本的目的),您只需將其作為自定義變量添加到構建設置中。

您實際上甚至不需要agvtool來將構建號設置為Xcode bot集成號。 只需在項目設置中將內部版本號設置為$ {XCS_INTEGRATION_NUMBER}即可。

我在編譯源步驟之前向我的目標構建階段添加了(+)一個運行腳本 這一行腳本適用於我將集成號設置為內部版本號。 謝謝凱琳,我只是想簡化一下。

[ -z "$XCS_INTEGRATION_NUMBER" ] && echo "Build #0" || xcrun agvtool new-version ${XCS_INTEGRATION_NUMBER}

我在os 10.14.2上使用Xcode 10.1進行設置,並發現需要進行一些修改才能使Kaelin的答案工作。 這是我的完整腳本:

#!/bin/sh
cd $XCS_PRIMARY_REPO_DIR
xcrun agvtool new-version -all "$XCS_BOT_NAME - Int. $XCS_INTEGRATION_NUMBER"

mods用於將目錄(cd)更改為項目在構建時所處的位置。 另一個是添加-all到xcrun參數。

我最近偶然發現了同樣的問題。 有一種非常實用但丑陋的方式來獲取有關Xcode Bots運行的最新集成數量的信息:

sudo grep -r "integration =" /Library/Server/Xcode/Logs/xcsbuildd.log | tail -1 | cut -d'=' -f 2| cut -d';' -f 1 |tr -d '\040\011\012\015'

我還創建了一個stackoverflow問題,以便找到一個更集成,更少hacky的方法來實現這個目標: 注冊來自協作的消息,如XCSBuildService,以接收Xcode Bots集成號

但也許如上所述解析xcsbuildd.log的方式足以滿足您的需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM