好的,我自己写的。它比颠覆轮询超时要好得多。测试:
- VisualSvn 服务器 2.7.2;
- Windows 网络服务器 2008 R2。
- PowerShell 2.0
BambooWebApiTrigger.bat
PowerShell 的批处理文件运行器C:\SvnHooks\
:
@echo OFF
rem this file just makes spawning powershell from VisualSvn a tad easier...
rem
rem Args from VisualSvn Server are ignored. Pass Bamboo BUILD KEY as the first
rem parameter to this script.
Powershell.exe -executionpolicy remotesigned -File C:\SvnHooks\BambooWebApiTrigger.ps1 -key %1
BambooWebApiTrigger.ps1
用于运行 System.Net.WebClient 的 PowerShell 脚本,也在C:\SvnHooks\
. 用您的本地 Bamboo 服务器覆盖bamboo.yourdefaultdomain.com :
# A Powershell script to trigger Bamboo to build a specific key
param (
[string]$baseurl = "http://bamboo.radicalsystems.com.au:8085",
[Parameter(Mandatory=$true)]
[string]$key,
[string]$tmp = $null
)
$fullUrl = $baseurl + "/updateAndBuild.action?buildKey=" + $key
if (!$tmp) {
$tmp = [io.path]::GetTempFileName()
}
echo "Pinging Bamboo API at '$fullUrl'"
$client = new-object System.Net.WebClient
$client.DownloadFile($fullUrl, $tmp)
# comment Remove-Item to see the results. It is a HTML result with success message.
# echo "Results are in $tmp"
Remove-Item $tmp
配置 VisualSvn
右键单击 VisualSvn 服务器管理器中的项目 > 属性 > 挂钩 > 提交后挂钩(编辑)。
在任何其他行之后输入此行:
C:\SvnHooks\BambooWebApiTrigger.bat BambooProjectKey
其中 BambooProjectKey 是键,在浏览构建计划(而不是项目)时在您的竹 url 之后找到。它通常有一个连字符:http://bamboo.yourdomain.com:8085/browse/FOO-BAR
. 在这种情况下,FOO-BAR 将是关键。
配置竹子
将您的 Bamboo 触发器更改为Repository 在提交更改时触发构建
选项
您可以覆盖 VisualSvn 提交后挂钩对话框中的密钥,以及批处理文件运行器中的 Bamboo 基本 URL 和临时文件位置。