0

パッケージのビルドにjenkinsを使用しています。私のパッケージは、ビルド日付を提供するjankins環境変数BUILD_IDを使用しています:https ://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables

問題は、スキーマhttp://www.w3.org/2001/XMLSchemaのdateTime型の要素で、xml構成ファイルでその日付を使用する必要があることです。

Jenkinsはフォーマットを使用します

YYYY-MM-DD_hh-mm-ss

BUILD_ID varの場合、dateTimeフィールドにはフォーマットが必要です

YYYY-MM-DDTHH:MM:SS

(日付と時刻の間の「_」の代わりに「T」、および時間区切り文字として「-」の代わりに「:」)。

BUILD_ID変数のカスタム日付形式を設定できるjenkinsのプラグインがあることは知っていますが、jenkinsに触れることはできません。jenkinsから読み取った後にそのBUILD_IDを変換する「ローカル」スクリプト/フック(ローカルとは、プロジェクトのスコープ内で、外部ツールを変更せずに)を作成することは可能ですか?今、私はpomの要素のその行でBUILD_IDを読みました:

<buildinfo.timestamp>${env.BUILD_ID}</buildinfo.timestamp>
4

1 に答える 1

1

あなたを助けるかもしれないmaven-timestamp-pluginと呼ばれる小さなmavenプラグインがあります。タイムスタンプを好きな形式で作成し、Jenkinsと同様にアクセスできるシステムプロパティに書き込みますBUILD_ID

プラグインの構成は次のようになります。

<plugin>
  <groupId>com.keyboardsamurais.maven</groupId>
  <artifactId>maven-timestamp-plugin</artifactId>
  <version>1.0</version>
  <configuration>
    <propertyName>timestamp</propertyName>
    <timestampPattern>yyyy-MM-ddTHH:mm:ss</timestampPattern>
  </configuration>
  <executions>
    <execution>
     <goals>
      <goal>create</goal>
     </goals>
    </execution>
  </executions>
</plugin>

...そしてあなたのXMLファイルにあなたは書くことができます<buildinfo.timestamp>${timestamp}</buildinfo.timestamp>

于 2013-02-03T14:22:55.797 に答える