我在iMac上运行Xcode Server 3.0.1,同时托管Git项目存储库,在MacBookPro上运行Xcode 5.0.2.我使用Crashlytics应用程序将框架集成到项目中,并设置仪表板帐户.
bot构建集成因错误而失败:
/ bin/sh -c /Library/Server/Xcode/Data/BotRuns/Cache/c5ebae11-195e-195e-6a5e-4d0088985621/DerivedData/Build/Intermediates/ArchiveIntermediates/SparrowEDIS/IntermediateBuildFilesPath/SparrowEDIS.build/Release-iphoneos/SparrowEDIS .build/Script-07EC5E4F18376B9B00BF4303.sh
2013-11-16 01:06:48.173 run [27823:507] Crashlytics.framework/run 1.3 2013-11-16 01:06:48.201 run [27823:507]错误:无法为对象存储编写目录.2013-11-16 01:06:48.220 run [27823:507]错误Domain = NSCocoaErrorDomain Code = 513"您无权将文件"builds"保存在文件夹"5b91b14e832a7b1c29441ec5ba109810"中." 的UserInfo = 0x100301c20
NSFilePath =/var/teamsserver/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/builds,NSUnderlyingError = 0x100300d90"操作无法完成.权限被拒绝"
2013-11-16 01:06:48.233 run [27823:507]无法在路径/var/teamsserver/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/builds/86837619-9986-420B-BA7A-D7E44885C461创建目录错误域= NSCocoaErrorDomain代码= 513"您无权将文件"86837619-9986-420B-BA7A-D7E44885C461"保存在"builds"文件夹中." 的UserInfo = 0x100215330
NSFilePath =/var/teamsserver/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/builds/86837619-9986-420B-BA7A-D7E44885C461,NSUnderlyingError = 0x1002153f0"操作无法完成.权限被拒绝"
命令/ bin/sh失败,退出代码为1
最后一个构建阶段是Crashlytics"run"脚本:
./Vendor/Crashlytics/Crashlytics.framework/run a5c09xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4085
有没有人碰到这个?我不知所措.谢谢.
我的目标之一是使用 defaults 命令读取属性列表的外部构建工具。
当机器人运行该工具时,defaults 命令无法找到指定的默认值:
defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString
> The domain/default pair of (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version, CFBundleShortVersionString) does not exist
Run Code Online (Sandbox Code Playgroud)
从普通用户的帐户运行相同的命令可以正常工作:
defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString
> 7.1
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它不适用于 _teamsserver 用户:
sudo -u _teamsserver defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString
> The domain/default pair of (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version, CFBundleShortVersionString) does not exist
Run Code Online (Sandbox Code Playgroud)
……这就是机器人无法构建的原因。
知道为什么这不起作用吗?
谢谢。
我已经在mac mini上安装了我的Xcode服务器.使用Itunes 从https://pandora.local/xcode/下载.ipa就可以了.
我尝试直接从safari手机安装它.它会安装证书,但是当我点击安装时会出现错误,说它无法连接到服务器.

我正在使用Xcode和GIT来创建自动构建服务.其中一个机器人每5分钟在Release分支上查看并构建它以防有新的提交.最近我开始收到以下错误:
断言:未找到引用'refs/heads/master'(-9)
这个机器人正在发布分支而不是主分支.我该如何解决这个问题?
我想在不使用Xcode IDE的情况下而是通过终端命令(确切地说是Codesigning Identity和Provisioning Profile)来更改.xcodeproj的构建设置。
我搜索了所有内容,但是只发现了从终端构建/归档项目的命令,这是我不想要的。我想要的只是更改设置,以便当我在Xcode中打开项目时,它的签名标识和配置文件设置为我在Terminal中设置的设置。
Xcodebuild命令只是使用我作为参数传递的内容来构建/归档项目,它没有将它们设置为项目的构建设置中的值。
xcodebuild -target <target-name> -showBuildSettings在我的项目所在的终端上运行,可以为我提供项目的完整构建设置,但是我没有任何设置方法。
我在这里也阅读了有关using的信息-setObject,但这也无济于事,因为它也使用我提供的参数值而不是实际设置它们来构建代码。
当前使用Xcode 6.3和Xcode 7。
任何帮助将不胜感激。
terminal xcode continuous-integration xcodebuild xcode-server
有没有办法在OS X的服务器应用程序上备份机器人?
我已经配置了漫游器,并且需要在我的计算机上重新安装OSX。有没有办法备份这些机器人(或整个服务器配置),然后从该备份中重建它?
我正在设置一个 Xcode Bot 来自动上传和分发我的测试版应用程序。我已经设置了 macOS 服务器和 Xcode 激活的 mac,并且能够手动构建和导出 IPA。我创建的 Xcode Bot 也可以毫无问题地存档和导出 IPA。
但是,当我尝试在 Xcode Bot 的 post 触发器中运行 Crashlytics 提交脚本时,上传失败。但是如果我保存机器人生成的 IPA 并通过终端手动调用 Crashlytics 脚本,它上传就好了。似乎只有 Xcode Bot 无法提交给 Crashlytics。
我在服务器 Keychain 上安装了所有正确的证书,并且在 Xcode 和使用 Xcode Bot 生成的 IPA 中手动存档/导出一切正常。
这是来自 Xcode Bot 的日志:
2016-11-22 17:15:53.942 submit Crashlytics: Crashlytics.framework/submit 1.3.5 (18)
2016-11-22 17:16:03.125 submit Crashlytics: Unable to package source due to error: Error Domain=CLSIPABuilderErrorDomain Code=-6 "(null)" UserInfo={UnderlyingError=Error Domain=CLSCodeSignerErrorDomain Code=-2 "(null)" UserInfo={arguments=(
"--sign",
ACFE8B8E177196BFF1974841752020FE96687508,
"--all-architectures",
"--force",
"--entitlements",
"/var/folders/81/5t89fdcn3h3680gh99mgvl7934dkfg/T/com.crashlytics.ipas/E357A31C-B1A2-424B-8A5A-E7D499A92C73/Payload/entitlements.xml",
"/var/folders/81/5t89fdcn3h3680gh99mgvl7934dkfg/T/com.crashlytics.ipas/E357A31C-B1A2-424B-8A5A-E7D499A92C73/Payload/Ebates Beta.app"
), …Run Code Online (Sandbox Code Playgroud) continuous-integration ios crashlytics xcode-bots xcode-server
Xcode服务器提供一个网页来监视该服务器上定义的任何机器人.该页面位于https://machine.domain.com/xcode.该页面显示每个机器人的状态,并提供"集成"按钮以手动重新运行集成.
任何可以看到该机器的人都可以访问该页面.
Xcode Server和持续集成指南中的文档:Web浏览器中的Monitor Bots提供了有关访问控制的说明,但是他们假设您正在运行macOS Server.使用Xcode 9不再需要如此.该文档中描述的访问控制在macOS非服务器上不可用.
如何防止公众看到僵尸程序状态,以及通过不断重新运行来触发DOS攻击?
Apple的朋友们,请参阅rdar:// 35668967.
我在本地 iMac 上运行 Xcode Server Bots,但未发送电子邮件通知。
我已经学习了很多教程,并进行了postfix设置和工作。我可以使用命令成功发送电子邮件
sudo echo "Test sending email from Postfix" | mail -s "Test Postfix" xxxxxx@me.com
Run Code Online (Sandbox Code Playgroud)
收到了我的电子邮件。
在Xcode> Preferences> Server & Bots> 下,Mail我按照所有教程将所有内容留空。
对于我的 Bot,在Triggers我下面有一个Periodic Email ReportwithSchedule设置After each integration和设置我的from,reply-to和To字段,并且每个都Notify On打勾。
我使用命令监视smtp和smtp处理
sudo log stream --predicate '(process == "smtpd") || (process == "smtp")' --info
Run Code Online (Sandbox Code Playgroud)
当我使用上述测试发送电子邮件时,我会看到一条日志行。
但是,当我的 Xcode Bot 完成时,我什么也没有得到。Bot …
xcode-server ×10
xcode ×7
ios ×5
xcode-bots ×4
crashlytics ×2
macos ×2
command-line ×1
email ×1
git ×1
postfix-mta ×1
terminal ×1
xcode9 ×1
xcodebuild ×1