目前正在執行構建的團隊城市代理沒有'git'安裝了它的一個linux框。我不能在那裏安裝git。Teamcity執行GIT Checkout
是否有TeamCity的一個本地方法,可以支持在以下構建步驟:
git checkout -b %dynamicversion%
目前正在執行構建的團隊城市代理沒有'git'安裝了它的一個linux框。我不能在那裏安裝git。Teamcity執行GIT Checkout
是否有TeamCity的一個本地方法,可以支持在以下構建步驟:
git checkout -b %dynamicversion%
裏面的VCS根設置,可以設置分支規範。 分支規範將允許你運行一個特定的分支(即:+:feature/*
)
然後一個組合框會出現在你的項目的頂部,爲了選擇你的項目。
如果要構建的分支取決於代碼中的某些內容,則可以使用依賴關係執行多個配置並使用API進行觸發。
構建1
建立在<default>
你在哪裏得到的分支運行。在TeamCity的 API調用,它將調用建立2設置爲指定的值的參數branch
:
# RunSpecificBranch.ps1
# PowerShell: Run Build Configuration on a specific branch
Param(
[Parameter(Mandatory=$true)][string]$branchName,
[Parameter(Mandatory=$true)][string]$BuildToRun
)
Begin
{
$TCUrl = "http://<teamcityURL>/httpAuth/app/rest/buildQueue"
Execute-HTTPPostCommand $TCUrl "<build branchName=""$branchName""><buildType id=""$buildToRun""/></build>"
}
,並執行這個腳本,如:RunSpecificBranch.ps1 -branchName: feature/ME/AwesomeFeature -buildToRun: Project_SubProject_SpecificBuildOnBranch
您的構建步驟中。
分公司的結算將由服務器上運行的生成配置之前完成Project_SubProject_SpecificBuildOnBranch
建造2
指定在多個分支機構運行作爲指定波紋管,你會在這裏做你的自定義邏輯你需要的。
謝謝,但要求是從pom文件中剝離一個版本,並執行git checkout作爲當前正在執行的構建的構建步驟。 – xtechkid
回答你的問題。你需要確保git軟件包安裝在linux系統中,爲了做到這一點,你可以做以下事情。
我想你在團隊城市代理中使用跟蹤來運行linux。
如果使用生成文件或腳本,您可以添加一個目標是呼籲在準備-dev的或「anymeaningfull_name」你可以嘗試安裝git的包作爲先決條件。
git checkout -b %dynamicversion%
我的理解是,你想簽出具有buildversion標籤的最新分支。
您可以創建ts.native.ini文件添加的關係是不包,
suite: precise mirror: http://xx.archive.ubuntu.com/ubuntu components: main restricted universe packages: mtools devscripts gcc make git libgnutls28-dev libboost-test-dev sudo e2fsprogs prepare: make prepare-dev preparefiles: Makefile
一旦這樣做,你可以添加一個目標之後。您可以在腳本中使用它。
#!/bin/sh
set -e
if [ "$(whoami)" != "root" ]; then
echo "Please run as root"
exit 1
fi
git clean -xfd
trap "$TRACKS -u" EXIT
_mkdebs()
{
export TRACKS_INIFILE=ts.trusty(native).ini
$TRACKS -b -- make mkdebs CCACHE_DIR=$CCACHE_DIR
}
您可以在teamcity代理中添加ts.native.ini跟蹤文件,以便安裝所需的所有prerequs。
TeamCity支持git。文檔[這裏](https://confluence.jetbrains.com/display/TW/Git)和[here](https://confluence.jetbrains.com/display/TCD10/Git)可能會有所幫助。 – kowsky
你想達到什麼目的?根據teamcity中的參數在代理上創建新的分支?代理AFAIK沒有本地的方式。順便說一句,有辦法避開git,也許你可以在代理上使用JGit。 (TeamCity服務器使用它,我想)或者也許創建一個代理端插件。 – sm4