0

Bamboo CI 有一个内置功能,当有人提交到存储库时,subversion 程序会触发内置竹子。我按照在提交后挂钩中放入的内容的说明进行操作,但我不确定 postcommitbuildtrigger.sh 文件的 2 个参数应该是什么。假设项目名称是 TEST ,构建名称是 TESTBUILD ,服务器 url 是http://localhost:8085。我在 post commit hook 命令行中写了这个。

/<pathtopostcommit.sh> TEST TESTBUILD

问题

提交后的 .sh 文件位于 Windows 机器上。这可能是因为 Windows 不运行 .sh 文件,但如果是这样,有人知道如何在 Windows 上设置此触发器吗?

另外,我认为这会立即触发构建?是否可以触发竹子进行民意调查,以便构建遵循安静期?

4

2 回答 2

0

好的,我自己写的。它比颠覆轮询超时要好得多。测试:

  • 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 和临时文件位置。

于 2014-10-29T05:53:33.933 回答
0

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

于 2010-07-08T20:08:28.860 回答