[java] どのブランチから作られた jar かをわかりやすくしたい
どのリビジョンが実際にデプロイされてるかをその場ですぐに確認したいというような要求がある。
そういうわけで、jar の中にリビジョン情報などを埋め込みたい。 そんなときには git-commit-id-plugin が便利。
https://github.com/ktoso/maven-git-commit-id-plugin
設定がごちゃごちゃと書いてあるが、ごちゃごちゃ書かなくても OK である。
以下のように書けばOK。
<build>
<finalName>${project.artifactId}-${project.version}-${scmBranch}-r${buildNumber}-</finalName>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.1.12</version>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<verbose>true</verbose>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
</configuration>
</plugin>
</plugins>
</build>
こうしておけば、jar の中に git.properties が含まれるようになるのでこれを見ればOK。 JMX でこれを獲得可能にしておくと remote からも確認できて便利ちゃん
現在弊社では war を展開して deploy しているので、
${BASEDIR}/WEB-INF/classes/git.properties
を見ればどのブランチから作られたかわかる。超ベンリ!