Prendendo in molte delle altre risposte che ho trovato in tutto il web (e su questa questione), ho i passaggi per fare questo lavoro in Xcode 6. In primo luogo, fare le cose sopra quello che dmclean dichiarato (con un paio di modifiche) sul server di generazione:
sudo -u _xcsbuildd /bin/bash
ssh-keygen -t rsa -b 4096 -C "[email protected]" (when asked for a keyphrase, just hit return)
ssh -vT [email protected] (this will show you debugging output - you should not have to enter a keyphrase and it should successfully get to git)
Ora, è necessario impostare questa nuova chiave pubblica nel tuo account git. Attenersi alla seguente procedura: (Passaggio 4) https://help.github.com/articles/generating-ssh-keys/
Suppongo che tu abbia uno script di compilazione per il tuo progetto. Il nostro progetto ha un'estensione condivisa e un'estensione dell'orologio. Volevo che i numeri di build aumentassero su ciascuno di essi (e fossero identici per ciascuno). I nostri numeri di build sono nel formato A.B.C.D (Major.Minor.Patch.build). Questo "Esegui script" si trova in "Fasi di creazione" del progetto principale. Ecco il nostro script:
#!/bin/sh
# Auto Increment Version Script
# set CFBundleVersion to 1.0.0.1 first!!!
# the perl regex splits out the last part of a build number (ie: 1.1.1.1) and increments it by one
# if you have a build number that is more than 4 components, add a '\d+\.' into the first part of the regex. If you have less remove one
buildPlist=${INFOPLIST_FILE}
newVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$buildPlist" | /usr/bin/perl -pe 's/(\d+\.\d+\.\d+\.)(\d+)/$1.($2+1)/eg'`
echo $newVersion;
/usr/libexec/PListBuddy -c "Set :CFBundleVersion $newVersion" "$buildPlist"
/usr/libexec/PListBuddy -c "Set :CFBundleVersion $newVersion" "$SRCROOT/${PRODUCT_NAME} Extension/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $newVersion" "$SRCROOT/${PRODUCT_NAME} WatchKit Extension/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $newVersion" "$SRCROOT/${PRODUCT_NAME} WatchKit App/Info.plist"
echo "Trying Git Config"
git config user.email "[email protected]"
git config user.name "XCode Build Server"
echo "Trying Git Commit"
git commit -a -m "Updated Build Numbers"
echo "Trying Git Push"
git push
Se non funziona, date un'occhiata in uscita nella build Log (sotto l'integrazione).
Some of the problems I encountered:
Dal _xcsbuildd in realtà non hanno un $ HOME ho dovuto fare i file di configurazione git, altrimenti mi è stato sempre gli errori in cui git non sapeva chi ero (errori di identità). Se inserisco un keyphrase nella chiave RSA, allora mi ha dato errori di chiave pubblica durante il tentativo di push (mi ci è voluto un po 'per capire come estrarre la keyphrase per farlo funzionare).
Spero che questo aiuti qualcuno.
fonte
2015-06-04 20:40:21
Potresti, per favore, condividere lo script che usi per incrementare il numero di build e premere per git? ! –
'#!/Bin/s # conteggio giri per impegna la versione di scarsa rilevanza (es. 1.0.0) numero build = $ (git-rev lista TESTA | wc -l | tr -d ' ') eco "Numero build: $ buildNumber" /usr/libexec/PlistBuddy -c "Set: CFBundleVersion $ buildNumber" "MyProject/MyProject.plist " tag git -a" $ buildNumber "-m" $ buildNumber " git push --tags' –
dmclean
Lo script di cui sopra contrassegna solo la versione secondaria con il commit di rev dalla repository. – dmclean