2017-03-01 12 views
6

現在ビルドを行っているチームシティエージェントには、Linuxマシンに 'git'がインストールされていません。私はそこにgitをインストールすることはできません。TeamcityはGITチェックアウトを実行します

がビルドステップで以下をサポートできるチームシティーでのネイティブメソッドがあります:VCSルートの設定内部

git checkout -b %dynamicversion% 
+0

TeamCityはgitをサポートしています。ドキュメンテーション[here](https://confluence.jetbrains.com/display/TW/Git)と[ここ](https://confluence.jetbrains.com/display/TCD10/Git)が参考になるかもしれません。 – kowsky

+0

達成しようとしていることは何ですか? teamcityのパラメータに基づいてエージェント上に新しいブランチを作成しますか? AFAIKの代理人にはこれに固有の方法はありません。ところで、gitを回避する方法があります。おそらく、エージェント上でJGitを使うことができます。 (TeamCityサーバーはそれを使用しています)またはエージェント側のプラグインを作成することもできます。 – sm4

答えて

1

、あなたは支店の仕様を設定することができます。 ブランチ仕様では、特定のブランチを実行できます(+:feature/*

次に、プロジェクトを選択するために、プロジェクトの上部にコンボボックスが表示されます。

ビルドするブランチがコード内の何かに依存する場合は、依存関係を使用して複数の構成を行い、APIを使用してトリガーすることができます。あなたはブランチを実行するために取得<default>

ビルド1

ビルドを。指定された値に設定したパラメータbranchを構築する2を呼び出すチームシティーで APIコール:

# RunSpecificBranch.ps1 
# PowerShell: Run Build Configuration on a specific branch 
Param(
    [Parameter(Mandatory=$true)][string]$branchName, 
    [Parameter(Mandatory=$true)][string]$BuildToRun 
) 
Begin 
{ 
    $TCUrl = "http://&lt;teamcityURL&gt;/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

は、あなたがここにあなたのカスタムロジックを行いますあなたが必要とするもの。

+0

ありがとうございますが、要件はpomファイルからバージョンを削除し、現在実行中のビルドから構築ステップとしてgit checkoutを実行することです。 – xtechkid

0

あなたの質問に答えてください。あなたは次のことができるように、gitパッケージがlinuxボックスにインストールされていることを確認する必要があります。

あなたのTeam Cityエージェントのトラックを使ってlinuxを実行すると思います。

makefileまたはスクリプトを使用する場合は、prepare-devまたは "anymeaningfull_name"と呼ばれるターゲットを追加して、gitパッケージを前提条件としてインストールできるようにすることができます。

git checkout -b %dynamicversion% 

私が理解したように、buildversionタグを持つ最新のブランチをチェックアウトしたいと思います。

あなたはこれを実行した後にターゲットを追加することができたら、

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 

をdependecyパッケージを追加ts.native.iniファイルを作成することができます。あなたはあなたのスクリプトでそれを使うことができます。

#!/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 
} 

チームシップエージェントにts.native.iniトラックファイルを追加して、必要なすべての前提条件をインストールできます。

関連する問題