Настройка Bamboo SVN совершить триггер сборки

Bamboo CI имеет встроенную особенность, заключающуюся в том, что программа subversion запускает сборку бамбука, когда кто-то фиксирует репозиторий. Я следовал инструкциям о том, что добавить в зацепку post commit, но я не уверен, какими должны быть 2 аргумента для файла postcommitbuildtrigger.sh. Допустим, имя проекта - TEST, имя сборки - TESTBUILD, а URL-адрес сервера - http://localhost:8085/. Я написал это в командной строке post commit hook.

/<pathtopostcommit.sh> TEST TESTBUILD

Вопрос

Файл post commit.sh находится на машине с Windows. Это может быть потому, что Windows не запускает.sh файлы, но если это так, кто-нибудь знает, как настроить этот триггер на Windows?

Кроме того, я думаю, что это приведет к немедленной сборке? Можно ли вызвать бамбук для проведения опроса, чтобы сборка выполнялась в спокойный период?

2 ответа

Решение

Приходится писать собственные сценарии. Bamboo распространяет только скрипты для Mac и Linux.

Хорошо, я написал свой. Это намного лучше, чем тайм-ауты в опросах Subversion. Проверено на:

  • VisualSvn Server 2.7.2;
  • Windows Web Server 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

Сценарий PowerShell для запуска System.Net.WebClient, также в C:\SvnHooks\, Перезаписать bamboo.yourdefaultdomain.com с локальным сервером Bamboo:

# 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 Server Manager> Свойства> Хуки> Хук после фиксации (Правка).

Введите эту строку после любых других:

C:\SvnHooks\BambooWebApiTrigger.bat BambooProjectKey

где BambooProjectKey - это ключ, найденный после вашего бамбукового URL при просмотре плана сборки (не проекта). Обычно в нем есть дефис: http://bamboo.yourdomain.com:8085/browse/FOO-BAR, В этом случае FOO-BAR будет ключом.

Настроить бамбук

Измените триггер Bamboo на Repository, который запускает сборку при внесении изменений.

Опции

Вы можете перезаписать ключ в диалоговом окне ловушки после фиксации VisualSvn, а также в базовом URL-адресе Bamboo и расположении временного файла в средстве запуска командного файла.

Другие вопросы по тегам