【发布时间】:2015-01-10 00:37:36
【问题描述】:
我为托管在 github 上的项目安装了 Xcode Bot。我按照步骤和设置机器人来使用我现有的 SSH 密钥。验证成功,项目将checkout并构建。
然后,我在预触发操作中添加了一个 shell 脚本,它增加 plist 中的版本,标记它,并将更改回 github。
但是,当我尝试从 shell 脚本执行 git push 时,我得到了这个:
-- 推送到 git@github.com:spex-app/spex-ios.git 权限被拒绝(公钥)。
致命:无法从远程存储库读取。
为什么服务器会成功签出我的项目但无法推送更改。我注意到用户是_xcsbuildd。我尝试将 .ssh 密钥复制到该 /var/_xcsbuildd/.ssh 中,但这也不起作用。
【问题讨论】:
-
能否分享一下用于增加内部版本号并推送到 git 的脚本?
-
#!/bin/s # rev count for commits as minor version (e.g 1.0.0.<rev_count>) buildNumber=$(git rev-list HEAD | wc -l | tr -d ' ') echo "Build Number: $buildNumber" /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "MyProject/MyProject.plist" git tag -a "$buildNumber" -m "$buildNumber" git push --tags -
上面的脚本只是用来自 repo 的 rev 提交标记了次要版本。
标签: ios xcode ssh-keys osx-server xcode-server