波德XCode中机器人触发安装
于是我开始用下面的波德XCode中机器人触发安装
cd "${XCS_PRIMARY_REPO_DIR}"
pwd
pod install --verbose
预集成触发它给了我
pod: command not found
简单吧?找不到pod二进制文件,我只是将它指向路径。简单。
cd "${XCS_PRIMARY_REPO_DIR}"
pwd
/usr/local/bin/pod install --verbose
这给了我下面的
env: ruby_executable_hooks: No such file or directory
这让我想起红宝石没有树立正确的为触发运行。现在,在构建服务器的终端中了解一个简单的“pod安装”,可以解决所有这些问题,并且运行良好并且非常棒。该项目肯定会在构建服务器上正确构建。
所以,因为我认为环境搞砸了,我会尝试从包装目录运行它,它应该设置好,很好。这是正确的吗?无论何时我需要ruby在构建的运行脚本阶段运行,历史上都是如此。所以我们在这里触发。
~/.rvm/wrappers/[email protected]/pod install
我考这一个在构建服务器的终端,它的冷静了,所以我把它改成了扳机,我得到这个
/Users/XcodeServer/.rvm/wrappers/[email protected]/pod: line 7: exec: pod: not found
:/好吧,我破解了荚来源,看看它在线7上说什么
exec pod "[email protected]"
我不是一个红宝石的人,但它对我没有任何意义。哦,是的,我尝试下载的CocoaPods直接进入USR/local/bin目录,而不是让把它安装到其他目录,先卸载所有的CocoaPods,然后通过执行以下操作
sudo gem install -n /usr/local/bin cocoapods --pre
我把 - 事先因为我需要1.1.0.rc.2来解决构建swift的bug。任何人,这一切都不起作用。看起来像其他人可以简单地把他们的XCode bot触发器,并让他们工作
cd /path/to/proj/
pod install
。
请指教。谢谢。
我有触发器在安装pod的生成服务器上运行脚本。
因此,让一个shell脚本您的构建服务器上有以下:
#make the the encoding is correct
export LANG=en_US.UTF-8
# fix the path so Ruby can find it's binaries
export PATH=/usr/local/bin:$PATH
echo "PATH: $PATH"
# update or install depending on what we got
if [ -d ${PODS_DIR} ]; then
# pods directory exist
echo "=================="
echo " Delete Pods"
echo "=================="
# delete cocoapods files if they exist
rm -rf "${PODS_DIR}"
eval rm "${BS_SRCROOT}/Podfile.lock"
eval rm -rf "${BS_SRCROOT}/${BS_EXECUTABLE_NAME}.workspace"
echo "Deleted Pods directory ${PODS_DIR}"
echo "Deleted ${BS_EXECUTABLE_NAME}.workspace"
echo "Deleted Podfile.lock"
else
# no need to delete pod files
echo "Pods NOT detected at ${PODS_DIR}"
fi
echo "=================="
echo " Install Pods"
echo "=================="
# make sure we are where we need to be
eval cd "${BS_SRCROOT}"
pwd
~/.rvm/wrappers/[email protected]/pod install
记住命名的脚本时使用的“上海”后缀。然后在你的机器人触发像这样运行
sh ~/Path/to/Scripts/podUpdateHack.sh
傻类的脚本,但它的工作原理,¯\ _(ツ)_ /¯噢所有这些愚蠢的evals在那里,因为BS_SRCROOT是一个环境变量XCode机器人,它引用环境变量$ XCS_PRIMARY_REPO_DIR。您可以用$ XCS_PRIMARY_REPO_DIR替换它并删除eval。我不记得是谁定义了可能来自工作区的PODS_DIR,BS_EXECUTABLE_NAME是对项目中可执行文件名称的重新定义,因为它在此时不存在。
希望能帮助亲妹妹。
我在同一条船上。你有工作吗? –
我让我的触发器运行脚本。我会回答这个问题。 – Biclops