Skip to content

Commit bc026ff

Browse files
committed
Expose version and git hash
Display the git commit hash and version in the footer. Additionally modify the Dockerfile to expose thse information as ARGs and ENVs. Remove the Google API key from the code and pass it in as a parameter.
1 parent 67d41a2 commit bc026ff

File tree

8 files changed

+78
-10
lines changed

8 files changed

+78
-10
lines changed

Dockerfile

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
FROM maven:3.3.3-jdk-8 as maven_builder
1+
ARG GIT_BRANCH
2+
ARG GIT_COMMIT
3+
ARG SOURCE_BRANCH
4+
ARG SOURCE_COMMIT
5+
ARG BUILD_NUMBER
6+
ARG BUILD_URL
27

8+
FROM maven:3.3.3-jdk-8 as maven_builder
39
RUN mkdir -p /code/src
4-
510
WORKDIR /code/src
6-
711
COPY src/pom.xml .
812
COPY src/genophenbrowser-server/pom.xml genophenbrowser-server/
913
COPY src/genophenbrowser-shared/pom.xml genophenbrowser-shared/
1014
COPY src/genophenbrowser-client/pom.xml genophenbrowser-client/
1115
RUN ["mvn","de.qaware.maven:go-offline-maven-plugin:resolve-dependencies","verify", "clean","-B", "--fail-never"]
12-
1316
COPY src /code/src
14-
1517
RUN ["mvn", "clean", "package"]
16-
1718
RUN mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[' | tail -n 1 > version
1819
RUN export VERSION=$(cat version); cp genophenbrowser-server/target/genophenbrowser-server-${VERSION}.war /root/ROOT.war
1920

@@ -42,3 +43,15 @@ USER gwaportal
4243
RUN cp $JETTY_HOME/lib/jetty-proxy*jar $JETTY_BASE/lib/ext
4344
RUN java -jar "$JETTY_HOME/start.jar" --add-to-startd=servlets
4445
COPY --chown=gwaportal:gwaportal bioportal-ontology-detail.cache ProgramData/cache/bioportal-ontology-detail.cache
46+
ARG GIT_BRANCH
47+
ARG GIT_COMMIT
48+
ARG SOURCE_BRANCH
49+
ARG SOURCE_COMMIT
50+
ARG BUILD_NUMBER
51+
ARG BUILD_URL
52+
ENV VERSION ${GIT_BRANCH:-$SOURCE_BRANCH}
53+
ENV COMMIT_HASH ${GIT_COMMIT:-$SOURCE_COMMIT}
54+
ENV BUILD_NUMBER $BUILD_NUMBER
55+
ENV BUILD_URL $BUILD_URL
56+
RUN echo ${VERSION}
57+

Jenkinsfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
def jobsMapping = [
2-
tags: [jobName:"App GWAPortal", jobTags: "reload", extraVars: "app_generic_image_tag: latest"],
3-
master: [jobName:"App GWAPortal", jobTags: "reload", extraVars: "app_generic_image_tag: master"]
2+
tags: [jobName:"App GWAPortal", jobTags: "reload", extraVars: "app_generic_image_tag: latest"]
43
]
54

65
buildDockerImage([

src/genophenbrowser-client/src/main/java/com/gmi/nordborglab/browser/client/bootstrap/BootstrapperImpl.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ protected void handleSuccess() {
121121
};
122122
/* FIXME https://code.google.com/p/gwt-charts/issues/detail?id=53 */
123123
ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART, ChartPackage.ORGCHART, ChartPackage.GEOCHART, ChartPackage.MOTIONCHART);
124-
chartLoader.setMapsApiKey("AIzaSyADR9bZKW2zh8GcDHRVWZOdZafVg6U86Hg");
124+
chartLoader.setMapsApiKey(getMapsApiKey());
125125
// FIXME Required because newer version will cause a JSON parse errro. This needs to be investigated on the backend
126126
chartLoader.setVersion("45.2");
127127
chartLoader.loadApi(chartsRunnable);
@@ -166,6 +166,21 @@ public static String getContactEmail() {
166166
return data.get("contactEmail");
167167
}
168168

169+
public static String getVersion() {
170+
Dictionary data = Dictionary.getDictionary("appData");
171+
return data.get("version");
172+
}
173+
174+
public static String getCommitHash() {
175+
Dictionary data = Dictionary.getDictionary("appData");
176+
return data.get("commitHash");
177+
}
178+
179+
public static String getMapsApiKey() {
180+
Dictionary data = Dictionary.getDictionary("appData");
181+
return data.get("mapsApiKey");
182+
}
183+
169184
public static LinkedHashSet<String> getChromosomes() {
170185
Dictionary data = Dictionary.getDictionary("appData");
171186
return Sets.newLinkedHashSet(Splitter.on(",").split(data.get("chromosomes")));

src/genophenbrowser-client/src/main/java/com/gmi/nordborglab/browser/client/mvp/ApplicationView.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.gmi.nordborglab.browser.client.mvp;
22

3+
import com.gmi.nordborglab.browser.client.bootstrap.BootstrapperImpl;
34
import com.gmi.nordborglab.browser.client.mvp.ApplicationPresenter.MENU;
45
import com.gmi.nordborglab.browser.client.resources.MainResources;
56
import com.gmi.nordborglab.browser.client.security.CurrentUser;
@@ -9,6 +10,7 @@
910
import com.gmi.nordborglab.browser.client.util.DateUtils;
1011
import com.gmi.nordborglab.browser.shared.proxy.AppUserProxy;
1112
import com.gmi.nordborglab.browser.shared.proxy.UserNotificationProxy;
13+
import com.google.gwt.dom.client.AnchorElement;
1214
import com.google.gwt.dom.client.DivElement;
1315
import com.google.gwt.dom.client.Element;
1416
import com.google.gwt.dom.client.ImageElement;
@@ -31,6 +33,7 @@
3133
import com.google.gwt.user.client.ui.Label;
3234
import com.google.gwt.user.client.ui.SimpleLayoutPanel;
3335
import com.google.gwt.user.client.ui.Widget;
36+
import com.google.gwt.safehtml.shared.UriUtils;
3437
import com.google.inject.Inject;
3538
import com.gwtplatform.mvp.client.ViewWithUiHandlers;
3639
import com.gwtplatform.mvp.client.proxy.PlaceManager;
@@ -88,6 +91,8 @@ interface MyStyle extends CssResource {
8891
SpanElement arrorIcon;
8992
@UiField
9093
SpanElement notifyBubble;
94+
@UiField
95+
AnchorElement versionLink;
9196

9297
private final Favico favIco;
9398

@@ -150,6 +155,15 @@ public void f(Element e) {
150155
notificationbar.stop().fadeTo(500, 0);
151156
}
152157
});
158+
String version = BootstrapperImpl.getVersion();
159+
String commitHash = BootstrapperImpl.getCommitHash();
160+
if (commitHash != "") {
161+
versionLink.setHref(UriUtils.fromString("https://github.com/Gregor-Mendel-Institute/GWA-Portal/commit/" + commitHash).asString());
162+
if (version == "") {
163+
version = commitHash.substring(0, Math.min(7, commitHash.length()));
164+
}
165+
versionLink.setInnerText(version);
166+
}
153167
}
154168

155169
@Override

src/genophenbrowser-client/src/main/java/com/gmi/nordborglab/browser/client/mvp/ApplicationView.ui.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,14 @@
9696
height: 3.423em;
9797
}
9898

99+
.footer_version {
100+
float: right;
101+
vertical-align: middle;
102+
padding-top: 20px;
103+
font-size: 13px;
104+
color: #999;
105+
}
106+
99107
.footer_items {
100108
float: left;
101109
line-height: 3.423em;
@@ -386,6 +394,8 @@
386394
</g:center>
387395
<g:south size="4.423">
388396
<g:HTMLPanel addStyleNames="{style.footer}" ui:field="footerPanel">
397+
<div class="{style.footer_version}">Version: <a target="_blank" ui:field="versionLink">N/A</a>
398+
</div>
389399
<div ui:field="footerContentPanel">
390400
<div class="{style.footer_content}">
391401
<div class="{style.footer_items}">

src/genophenbrowser-server/CONFIG/application_PROFILE.sample.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ GENOME.chrlengths=30429953,19701870,23467451,18578708,26992130
1414
GENOME.chromosomes=1,2,3,4,5
1515
GA.trackingid={GA.TRACKERID}
1616
SITE.contactemail=[email protected]
17+
SITE.mapsApiKey={API KEY for MAPS}
1718
HDF5_SERVER={HDF5_SERVER}
1819
GENE.info_url=https://apps.araport.org/thalemine/portal.do?externalids={0}

src/genophenbrowser-server/src/main/java/com/gmi/nordborglab/browser/server/controller/MainController.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ public class MainController {
2626
@Value("${GENOME.chromosomes}")
2727
private String chromosomes = "";
2828

29+
@Value("#{environment.VERSION}")
30+
private String version;
31+
32+
@Value("#{environment.COMMIT_HASH}")
33+
private String commitHash;
34+
35+
@Value("${SITE.mapsApiKey}")
36+
private String mapsApiKey;
37+
2938
@RequestMapping(method = {RequestMethod.GET, RequestMethod.HEAD})
3039
public ModelAndView index() {
3140

@@ -35,6 +44,10 @@ public ModelAndView index() {
3544
result.addObject("contactEmail", contactEmail);
3645
result.addObject("geneInfoUrl",geneInfoUrl);
3746
result.addObject("chromosomes", chromosomes);
47+
result.addObject("version", version);
48+
result.addObject("commitHash", commitHash);
49+
result.addObject("mapsApiKey", mapsApiKey);
50+
3851
return result;
3952
}
4053
}

src/genophenbrowser-server/src/main/webapp/WEB-INF/jsp/index.jsp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,10 @@
163163
'geneInfoUrl': '${geneInfoUrl}',
164164
'gaTrackingId': '${gaTrackingId}',
165165
'contactEmail': '${contactEmail}',
166-
'chromosomes': '${chromosomes}'
166+
'chromosomes': '${chromosomes}',
167+
'version': '${version}',
168+
'commitHash': '${commitHash}',
169+
'mapsApiKey': '${mapsApiKey}',
167170
};
168171
<%@ include file="/browser/browser.nocache.js" %>
169172
</script>

0 commit comments

Comments
 (0)