2011-08-11 19 views
18

TeamCityには、現在の日付の変数をMMddの形式で取得する簡単な方法があります(たとえば、8月8日は0811)。TeamCity現在の日付変数(MMdd形式)

私のgoogle-fuは既存のプラグインを公開していません。私はプラグインを書いてみましたが、jdkをインストールしていないので、時間がかかるようです。

答えて

7

チームシティーためGroovy Pluginは、開始日付/時刻のプロパティを構築提供:

はビルドプロパティを提供します:

system.build.start.date/env.BUILD_START_DATE

system.build.start .time/env.BUILD_START_TIME

This blog postインストール/設定Groovyプラグインの手順と、日付/時刻形式のカスタマイズの例を示します。

+4

ブログリンクが壊れています。 –

+0

@Bilal日付/時刻形式をカスタマイズする方法を要約できますか?リンクが壊れていて、どこにでもその情報が見つかりません。 – PeteN

+0

@pete作業中のブログリンクが追加されました。 –

1

Date Build Numberプラグインを試すこともできます。これは、プロパティを構築するのではなく、ビルド番号形式で追加のvarをポビドします。

echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::Now)']" 

または(UTC用):

echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::UtcNow)']" 

これはチームシティーのService Message使用

33

これは、以下のソースコードを使用して(何のプラグインは必要ありません)PowerShellのビルドステップで行うことは非常に簡単です実行時にビルドエンジンと対話できるようにする機能ビルドパラメータを設定します。

あなたは、あなたがプラグインを使用する必要はありませんされ、構文%env.BUILD_START_TIME%

このアプローチの利点を使用してチームシティーの他の場所からこのビルドパラメータを参照することができます。欠点は、ビルドステップを導入する必要があることです。私はビルドコマンドの一つとして次のカスタムスクリプトを提案しているのUnixベースのビルドエージェントの場合

+7

素敵なヒント、ここにはミリ秒とパスフレンドリのフォーマットがあります。[DateTime] :: Now.ToString( "yyyyMMdd_hhmmssff") ' – iraSenthil

+9

また、エージェントのbuildAgent.propertiesファイルでenv.BUILD_START_TIMEを定義する必要があります。そうしないと、TeamCityはエージェントを互換性のあるものとして照合しません。 – seldary

+0

@seldary、ビルドエージェントのプロパティの定義に関するヒントをありがとう。ビルドサーバの値を上書きするenvプロパティを定義すると、PowerShellの値がビルドエージェントにプッシュされることを実際にどのように確認するのですか? –

4

export current_build_date_format="+%%Y.%%m.%%d" 
export current_build_date="$(date $current_build_date_format)" 
echo "##teamcity[setParameter name='env.current_build_date' value='$current_build_date']" 

あなたは%(参照date実行可能なコマンドライン引数FORMAT文字列の解釈を避けるために、二重の%記号を確認する必要がありますY.%m。%d)を既存のTeamCity変数として使用します。

0

TeamCityのビルドに日付付きのフォルダを追加するには、カスタムスクリプトに次のものを追加しました。私が抱えていたのは、日付文字列の二重%記号でした。 D'oh

TARGET_DIR=/Users/admin/build/daily 
TARGET=$(date "+%%Y-%%m-%%d") 

if [ ! -d ${TARGET_DIR} ]; then 
    mkdir -vp ${TARGET_DIR}/ 
fi 
mv -v build.dmg ${TARGET_DIR}/build_${TARGET}.dmg