设置Bamboo SVN提交构建触发器

时间:2010-06-25 20:21:07

标签: visualsvn-server bamboo build-triggers

Bamboo CI具有以下特性:当有人提交到存储库时,使用subversion程序触发竹编。我按照post post hook中的说明进行操作,但我不确定postcommitbuildtrigger.sh文件的2个参数是什么。假设项目名称为TEST,构建名称为TESTBUILD,服务器URL为http://localhost:8085。我在post commit hook命令行中写了这个。

/<pathtopostcommit.sh> TEST TESTBUILD

问题

post commit .sh文件位于Windows机器上。这可能是因为Windows没有运行.sh文件,但如果这样那么有人知道如何在Windows上设置此触发器吗?

另外,我认为这会立即触发构建?是否有可能触发竹子进行民意调查,以便构建服从安静的时期?

2 个答案:

答案 0 :(得分:0)

必须编写自己的脚本。 Bamboo只分发mac和linux脚本。

答案 1 :(得分:0)

好的我写了自己的。它比颠覆民意调查超时要好得多。经过测试:

  • VisualSvn Server 2.7.2;
  • Windows Web Server 2008 R2。
  • PowerShell 2.0

BambooWebApiTrigger.bat

C:\SvnHooks\中的PowerShell批处理文件运行器:

@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服务器管理器中的项目&gt;属性&gt;钩子&gt;提交后挂钩(编辑)。

在其他任何人之后输入此行:

C:\SvnHooks\BambooWebApiTrigger.bat BambooProjectKey

其中BambooProjectKey是关键,在浏览构建计划(而不是项目)时在您的竹子网址后找到。它通常有一个连字符:http://bamboo.yourdomain.com:8085/browse/FOO-BAR。在这种情况下,FOO-BAR将成为关键。

配置Bamboo

将Bamboo触发器更改为 Repository在提交更改时触发构建

选项

您可以从VisualSvn提交后挂钩对话框覆盖密钥,也可以从批处理文件运行器覆盖Bamboo基本URL和临时文件位置。