Trong mẫu chính của bạn hoặc ở bất kỳ đâu.
<p style="float:right">Server version: <%=ApplicationHolder.application.metadata['app.version']%></p>
Bạn có thể sử dụng <g:if env="...">
để giới hạn theo môi trường nếu muốn.
Xây dựng ngày là phức tạp hơn và có thể không có ý nghĩa gì cả. Bạn có bao giờ xây dựng hai lần trong cùng một ngày không? Cùng một giờ? Tôi gắn bó với phiên bản svn trong phiên bản ứng dụng của tôi trước khi xây dựng để xác định xây dựng, như vậy:
_Events.groovy
eventWarStart = { type ->
addSvnRevisionToAppVersion()
}
private def addSvnRevisionToAppVersion() {
try {
DAVRepositoryFactory.setup();
SVNRepositoryFactoryImpl.setup();
FSRepositoryFactory.setup();
SVNClientManager clientManager = SVNClientManager.newInstance();
SVNWCClient wcClient = clientManager.getWCClient();
File baseFile = new File(basedir);
SVNInfo svninfo = wcClient.doInfo(baseFile, SVNRevision.WORKING);
def svnRevision = svninfo.getRevision().number;
String oldVersion = metadata.'app.version'
String newVersion
if (oldVersion.matches(/.*\.r\d+/)) {
newVersion = oldVersion.replaceAll(/\.r\d+/, ".r${svnRevision}");
}
else {
newVersion = oldVersion + ".r${svnRevision}".toString()
}
metadata.'app.version' = newVersion
metadata.persist()
}
catch (SVNException ex) {
println "**************** SVN exception **************"
println ex.getMessage();
}
}
Lưu ý rằng thay vì phụ thêm phiên bản svn, bạn chỉ có thể nối thêm new Date()
để có được xây dựng ngày.
Nguồn
2011-08-05 14:33:49