home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2012/06/10/Jenkinsのビルド情報をMANIFEST.MFに埋め込む (v1)

日記/2012/06/10/Jenkinsのビルド情報をMANIFEST.MFに埋め込む (v1)

日記 / 2012 / 06 / 10 / Jenkinsのビルド情報をMANIFEST.MFに埋め込む (v1)
id: 1088 所有者: msakamoto-sf    作成日: 2012-06-10 16:32:02
カテゴリ: Java Maven 

荒っぽくメモ:古い掲示板のスレッドからコピペしたので、環境変数名がHUDSONになってるけど変える。

<pom> 
... 
<build> 
  <plugins> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <inherited>true</inherited> 
      <configuration> 
        <archive> 
          <manifest> 
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          </manifest> 
          <manifestEntries> 
            <Application-Name>${pom.build.finalName}</Application-Name> 
            <Application-Version>${pom.version}</Application-Version> 
            <Iteration-Name>${iteration}</Iteration-Name> 
            <Build-Time>${buildNumber}</Build-Time> 
            <HudsonBuildNumber>${BUILD_NUMBER}</HudsonBuildNumber> 
            <HudsonBuildId>${BUILD_ID}</HudsonBuildId> 
            <HudsonJobName>${JOB_NAME}</HudsonJobName> 
            <HudsonBuildTag>${BUILD_TAG}</HudsonBuildTag> 
            <HudsonExecutorNumber>${EXECUTOR_NUMBER}</HudsonExecutorNumber> 
            <HudsonJavaHome>${JAVA_HOME}</HudsonJavaHome> 
            <HudsonWorkspace>${WORKSPACE}</HudsonWorkspace> 
            <HudsonUrl>${HUDSON_URL}</HudsonUrl> 
            <HudsonSvnRevision>${SVN_REVISION}</HudsonSvnRevision> 
          </manifestEntries> 
        </archive> 
      </configuration> 
    </plugin> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ejb-plugin</artifactId> 
      <inherited>true</inherited> 
      <configuration> 
        <ejbVersion>3.0</ejbVersion> 
        <archive> 
          <manifest> 
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          </manifest> 
          <manifestEntries> 
            <Application-Name>${pom.build.finalName}</Application-Name> 
            <Application-Version>${pom.version}</Application-Version> 
            <Iteration-Name>${iteration}</Iteration-Name> 
            <Build-Time>${buildNumber}</Build-Time> 
            <HudsonBuildNumber>${BUILD_NUMBER}</HudsonBuildNumber> 
            <HudsonBuildId>${BUILD_ID}</HudsonBuildId> 
            <HudsonJobName>${JOB_NAME}</HudsonJobName> 
            <HudsonBuildTag>${BUILD_TAG}</HudsonBuildTag> 
            <HudsonExecutorNumber>${EXECUTOR_NUMBER}</HudsonExecutorNumber> 
            <HudsonJavaHome>${JAVA_HOME}</HudsonJavaHome> 
            <HudsonWorkspace>${WORKSPACE}</HudsonWorkspace> 
            <HudsonUrl>${HUDSON_URL}</HudsonUrl> 
            <HudsonSvnRevision>${SVN_REVISION}</HudsonSvnRevision> 
          </manifestEntries> 
        </archive> 
      </configuration> 
    </plugin> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
        <archive> 
          <manifest> 
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          </manifest> 
          <manifestEntries> 
            <Application-Name>${pom.build.finalName}</Application-Name> 
            <Application-Version>${pom.version}</Application-Version> 
            <Iteration-Name>${iteration}</Iteration-Name> 
            <Build-Time>${buildNumber}</Build-Time> 
            <HudsonBuildNumber>${BUILD_NUMBER}</HudsonBuildNumber> 
            <HudsonBuildId>${BUILD_ID}</HudsonBuildId> 
            <HudsonJobName>${JOB_NAME}</HudsonJobName> 
            <HudsonBuildTag>${BUILD_TAG}</HudsonBuildTag> 
            <HudsonExecutorNumber>${EXECUTOR_NUMBER}</HudsonExecutorNumber> 
            <HudsonJavaHome>${JAVA_HOME}</HudsonJavaHome> 
            <HudsonWorkspace>${WORKSPACE}</HudsonWorkspace> 
            <HudsonUrl>${HUDSON_URL}</HudsonUrl> 
            <HudsonSvnRevision>${SVN_REVISION}</HudsonSvnRevision> 
          </manifestEntries> 
        </archive> 
      </configuration> 
    </plugin> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ear-plugin</artifactId> 
      <inherited>true</inherited> 
      <configuration> 
        <defaultJavaBundleDir>lib/</defaultJavaBundleDir> 
        <archive> 
          <manifest> 
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          </manifest> 
          <manifestEntries> 
            <Application-Name>${pom.build.finalName}</Application-Name> 
            <Application-Version>${pom.version}</Application-Version> 
            <Iteration-Name>${iteration}</Iteration-Name> 
            <Build-Time>${buildNumber}</Build-Time> 
            <HudsonBuildNumber>${BUILD_NUMBER}</HudsonBuildNumber> 
            <HudsonBuildId>${BUILD_ID}</HudsonBuildId> 
            <HudsonJobName>${JOB_NAME}</HudsonJobName> 
            <HudsonBuildTag>${BUILD_TAG}</HudsonBuildTag> 
            <HudsonExecutorNumber>${EXECUTOR_NUMBER}</HudsonExecutorNumber> 
            <HudsonJavaHome>${JAVA_HOME}</HudsonJavaHome> 
            <HudsonWorkspace>${WORKSPACE}</HudsonWorkspace> 
            <HudsonUrl>${HUDSON_URL}</HudsonUrl> 
            <HudsonSvnRevision>${SVN_REVISION}</HudsonSvnRevision> 
          </manifestEntries> 
        </archive> 
      </configuration> 
    </plugin> 
    <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>buildnumber-maven-plugin</artifactId> 
      <inherited>true</inherited> 
      <executions> 
        <execution> 
          <phase>validate</phase> 
          <goals> 
            <goal>create</goal> 
          </goals> 
        </execution> 
      </executions> 
      <configuration> 
        <format>{0,date,yyyy-MM-dd HH:mm:ss}</format> 
        <items> 
          <item>timestamp</item> 
        </items> 
      </configuration> 
    </plugin> 
  </plugins> 
</build> 
... 
</pom> 

ちゃんとしたのは、オライリーのJenkins本(日本語版), "5.6.4 ビルド中でのJenkinsの環境変数の利用" 参照。

MANIFEST.MFを読み込むには:

やっぱりビルドNOとか、ビルドに使ったソースコードリビジョン番号とか、見れるとカコイイ。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2012-06-10 16:37:21
md5:d9e2caa0ee488a4e76305a00827bb8a9
sha1:6fc1583f29579bbf34f56a54ac8a29ce9de100b6
コメント
コメントを投稿するにはログインして下さい。