我应该提到的第一件事是我不能使用 ssh。
有了这个,如果有人能提供帮助,我将永远感激不尽。
我需要在我的机器人上运行一个构建后脚本,该脚本创建一个标签并在构建成功时将其推送到远程。我尝试将它作为在机器人上定义的“发布”脚本、作为项目构建设置中的“构建阶段”以及作为我用于 CI 的自定义共享方案中的构建后脚本运行。脚本如下所示:
if [ -z "$PROJECT_DIR" ]; then
echo "No project dir variable"
else
cd $PROJECT_DIR;
echo "PROJECT_DIR is $PROJECT_DIR";
echo "Directory is $(pwd)";
git config user.email "myself@mycompany.com"
git config user.name "myself"
CURRENTTAG=$(git describe --abbrev=0 --tags);
echo "CURRENTTAG is $CURRENTTAG";
CURRENTTAG_PRE=`echo $CURRENTTAG | awk -F "_" '{print $1}'`;
echo "CURRENTTAG_PRE is $CURRENTTAG_PRE";
CURRENTTAG_POST=`echo $CURRENTTAG | awk -F "_" '{print $2}'`;
echo "CURRENTTAG_POST is $CURRENTTAG_POST";
if [ -z "$CURRENTTAG_POST" ]; then
echo "catastrophic failure"
exit 0
else
CURRENTTAG_POST=$(($CURRENTTAG_POST + 1));
SPACE="_";
NEW_TAG=$CURRENTTAG_PRE$SPACE$CURRENTTAG_POST;
echo "NEW_TAG is $NEW_TAG";
git tag -a $NEW_TAG -m "$NEW_TAG";
git push origin "$NEW_TAG"
echo "New tag $(git describe --abbrev=0 --tags) created"
fi
fi
因此,使用命令的 hackgit config
可以阻止 git 询问机器人“请告诉我你是谁”。但是,一旦机器人克服了这一点, git push 就会失败,并显示以下内容:
fatal: could not read Password for 'https://myself@mygitremote.com': Device not configured
任何人都可以提供任何基于 HTTPS 的建议来说明我如何克服这个问题吗?
顺便说一句,我在 Xcode 6.4 和 Server 4.1.2 上。
谢谢。
编辑:我已经看到了很多从 sudo 进入_xcsbuildd的外壳开始的解决方案。在 Xcode Server 4.1 中肯定没有_xcsbuildd的主目录,所以你不能“git config --global”任何东西。