내가 웹에 걸쳐 발견 다른 답변을 많이 촬영 (이 문제에), 나는 물건을 할, 엑스 코드 6. 먼저이 일을 할 수있는 단계가 빌드 서버 (몇 변화에) 언급 dmclean 무엇보다 :
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)
지금, 당신은 당신의 자식 계정에서이 새로운 공개 키를 설정해야합니다. 다음 단계를 따르십시오. (4 단계) https://help.github.com/articles/generating-ssh-keys/
프로젝트의 빌드 스크립트가 있다고 가정합니다. Google의 프로젝트에는 공유 확장 프로그램 및보기 확장 프로그램이 있습니다. 나는 빌드 번호가 각각에 걸쳐 증가하도록 (그리고 각각에 걸쳐 동일하게) 싶었습니다. 빌드 번호는 A.B.C.D (Major.Minor.Patch.build) 형식입니다. 이 "Run Script"는 주 프로젝트의 "Build Phases"에 있습니다. 스크립트는 다음과 같습니다.
#!/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
작동하지 않는 경우 빌드 로그 (통합 아래)의 출력을 확인하십시오.
Some of the problems I encountered:
_xcsbuildd 정말 내가 자식 CONFIGS을해야했다 달러 (A $) 홈을 가지고 있지 않기 때문에
, 그렇지 않으면 나는 자식 내가 (신원 오류) 누구인지 모르는 오류를 얻고 있었다. RSA 키에 keyphrase를 넣으면 푸시 할 때 공개 키 오류가 발생합니다 (키프로스트를 꺼내서 작동하도록하는 데 다소 시간이 걸렸습니다).
이 정보가 도움이되기를 바랍니다.
증가 빌드 번호에 사용하는 스크립트를 공유하고 git으로 푸시 할 수 있습니까? ! –
'#이 /에 대한 빈/s의 #의 회전 수가 같은 부 버전을 커밋 (. 예를 들어 1.0.0) buildNumber = $ (자식 레브리스트 HEAD | 화장실 -l | TR -d '') 에코 "빌드 번호 : $ buildNumber" /usr/libexec/PlistBuddy -c "Set : CFBundleVersion $ buildNumber" "MyProject/MyProject.plist " 자식 태그 -a"$ buildNumber "-m"$ buildNumber " git push --tags' –
dmclean
위의 스크립트는 repo에서 rev 커밋을 사용하여 부 버전을 태그로 지정합니다. – dmclean