現在ビルドを行っているチームシティエージェントには、Linuxマシンに 'git'がインストールされていません。私はそこにgitをインストールすることはできません。TeamcityはGITチェックアウトを実行します
がビルドステップで以下をサポートできるチームシティーでのネイティブメソッドがあります:VCSルートの設定内部
git checkout -b %dynamicversion%
現在ビルドを行っているチームシティエージェントには、Linuxマシンに 'git'がインストールされていません。私はそこにgitをインストールすることはできません。TeamcityはGITチェックアウトを実行します
がビルドステップで以下をサポートできるチームシティーでのネイティブメソッドがあります:VCSルートの設定内部
git checkout -b %dynamicversion%
、あなたは支店の仕様を設定することができます。 ブランチ仕様では、特定のブランチを実行できます(+: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://<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ボックスにインストールされていることを確認する必要があります。
あなたの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トラックファイルを追加して、必要なすべての前提条件をインストールできます。
TeamCityはgitをサポートしています。ドキュメンテーション[here](https://confluence.jetbrains.com/display/TW/Git)と[ここ](https://confluence.jetbrains.com/display/TCD10/Git)が参考になるかもしれません。 – kowsky
達成しようとしていることは何ですか? teamcityのパラメータに基づいてエージェント上に新しいブランチを作成しますか? AFAIKの代理人にはこれに固有の方法はありません。ところで、gitを回避する方法があります。おそらく、エージェント上でJGitを使うことができます。 (TeamCityサーバーはそれを使用しています)またはエージェント側のプラグインを作成することもできます。 – sm4