pka*_*amb 7 git xcode continuous-integration xcode-bots xcode-server
我创建了一个Xcode Bot,它集成在每次提交时.
在"运行脚本"触发器中,我想使用已运行的测试的集成状态更新当前的GitHub提交.相当标准的CI东西.

然后我将运行如下的脚本:
curl -i -X POST -H "Content-type: application/json"
-H 'Authorization: token TOKEN_HERE' -d
'{
"state": "success",
"target_url": "https://example.com/build/status",
"description": "The build succeeded!",
"context": "continuous-integration/jenkins"
}'
https://api.github.com/repos/ORGANIZATION_HERE/REPO_HERE/statuses/SHA_HERE
Run Code Online (Sandbox Code Playgroud)
看起来我将能够从Xcode Bot Environment变量获取success或failure状态:
在Xcode Server CI bot中访问构建文件夹(env变量?)
但是,未列出当前提交的SHA.如何在此时获取用于Integration的提交的SHA,以便在GitHub Status API请求中使用?
XCS_OUTPUT_DIR有一个名为sourceControl.log. 该文件具有如下日志:
"DVTSourceControlLocationRevisionKey" : "3787c0d9e5107861a8b8d4c7300b2d414ad41dbb",
Run Code Online (Sandbox Code Playgroud)
您可以解析该日志以查找 SHA。
也许更实际的是,CaveJohnson可以拉取 SHA:
PATH=/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH
SHA=`cavejohnson getSha`
Run Code Online (Sandbox Code Playgroud)
或者它可以直接将 GitHub 状态设置为一行:
#!/bin/bash
PATH=/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH
cavejohnson setGithubStatus
Run Code Online (Sandbox Code Playgroud)
值得注意的是,状态不仅仅是成功和失败,我知道至少有 6 种。您可以在我的Xcode 6 CI Missing Manual中阅读有关它们的更多信息。
| 归档时间: |
|
| 查看次数: |
1134 次 |
| 最近记录: |