2017-03-01 67 views
6

Şu anda yapıyı yürüten ekip şehir aracısı, linux kutusunu 'git' içermiyor. Git oraya yüklenemedi.Teamcity gerçekleştirmek GIT Checkout

inşa adımda aşağıda destekleyebilir TeamCity yerel bir yöntem var mı:

git checkout -b %dynamicversion% 
+0

TeamCity git destekliyor. Dokümantasyon [burada] (https://confluence.jetbrains.com/display/TW/Git) ve [burada] (https://confluence.jetbrains.com/display/TCD10/Git) yardımcı olabilir. – kowsky

+0

Neye ulaşmaya çalışıyorsunuz? Ajanda parametre bazında yeni bir şube oluşturuluyor mu? AFAIK acentesinde bunun bir yolu yok. BTW yok yok etrafında almak için yollar vardır, belki ajan üzerinde JGit kullanabilirsiniz. (TeamCity sunucusu bence kullanır) Ya da bir ajan tarafı eklenti oluşturabilir. – sm4

cevap

1

VCS Kök ayarlarında İçinde, Şube Spesifikasyonu'nda ayarlayabilirsiniz. Şube Belirtimi, belirli bir dalı (örneğin: +:feature/*)

çalıştırmanıza izin verir. Daha sonra projenizi seçmek için projenizin üst kısmında birleşik giriş kutusu görünür. Oluşturulacak şube kodunuzda bir şeye bağlıysa, bağımlılıklarla birden çok yapılandırma yapabilir ve API kullanarak tetikleme yapabilirsiniz. Eğer şube çalıştırmak için olsun <default> üzerine

Yapı 1

Oluştur. Belirtilen değere ayarlanmış parametre branch ile Yapı 2 arayacak TeamCity üzerinde API Çağrı:

# 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>" 
} 

Ve benzeri bu senaryoyu yürütün: Yapınız Adım içeride RunSpecificBranch.ps1 -branchName: feature/ME/AwesomeFeature -buildToRun: Project_SubProject_SpecificBuildOnBranch.

şube ödeme yapı yapılandırma çalıştırmadan önce sunucu tarafından yapılacaktır Project_SubProject_SpecificBuildOnBranch

feryat belirtilen Yapı çoklu branşlarda çalışmak üzere Belirtilen 2

, buradan özel mantığı yapacak ihtiyacın var.

+0

teşekkürler, ancak gereksinim, pom dosyasından bir sürümü kesmek ve şu anda çalıştırılan yapıdan bir yapı adımı olarak git checkout gerçekleştirmektir. – xtechkid

0

Sorunuz için soru yazın. Aşağıdaki şeyleri yapabilmeniz için git paketinin linux kutusuna kurulduğundan emin olmanız gerekir.

Team city temsilcinizde linux'u çalıştırmak için kullandığınız parçaları tahmin ediyorum.

Eğer makefile veya komut dosyasını kullanırsanız, önkoşul git paketini yüklemeyi deneyebilirsiniz ki hazırlamak-dev ya da "anymeaningfull_name" dediğimiz bir hedefi ekleyebilir.

git checkout -b %dynamicversion% 

Ne anladım, buildversion etiketi olan son şubeyi kontrol etmek istiyorsunuz. Sen Bağımlılığı paketini eklemek ts.native.ini dosyası oluşturabilirsiniz

,

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 

kez bu Hedefi ekleyebilirsiniz yaptıktan sonra. Senaryonuzda kullanabilirsiniz. gerektiğinde tüm prerequsities kuracak şekilde

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

Sen TeamCity ajan ts.native.ini parça dosyasını ekleyebilir.