Skip to content

Commit 479f851

Browse files
committed
Merge branch 'release/v3.19.1-1'
2 parents 0835135 + abad8fa commit 479f851

File tree

7 files changed

+65
-23
lines changed

7 files changed

+65
-23
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Changelog
2+
All notable changes to this project will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [3.19.1-1] - 2019-12-09
8+
### Changed
9+
- Changed Nexus version from 3.18.1 to 3.19.1
10+
- Changed Java version in Dockerfile to 8u222-1
11+
12+
### Added
13+
- Added docker health check
14+
- Add a start-up check whether the minimum number of CPU cores is reached (#36)
15+
- Starting with [Nexus Repository Manager 3.17](https://issues.sonatype.org/secure/ReleaseNote.jspa?projectId=10001&version=17890) a minimum number of 4 CPU cores is enforced, otherwise the Repository Manager is no longer guaranteed to work.
16+
- The added check adds a new healthy state during the Dogu start-up in order to provide a better visibility of the originating problem.
17+
- You can check for the health with the CES command `cesapp healthy nexus`
18+

Dockerfile

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
11
# registry.cloudogu.com/official/nexus
2-
FROM registry.cloudogu.com/official/java:8u212-1
2+
FROM registry.cloudogu.com/official/java:8u222-1
33
LABEL maintainer="[email protected]" \
44
NAME="official/nexus" \
5-
VERSION="3.18.1-2"
5+
VERSION="3.19.1-1"
66

77
# The version of nexus to install
8-
ENV NEXUS_VERSION=3.18.1-01 \
8+
ENV NEXUS_VERSION=3.19.1-01 \
99
TINI_VERSION=0.18.0 \
1010
NEXUS_CLAIM_VERSION=0.3.0 \
1111
NEXUS_CARP_VERSION=0.3.2 \
1212
NEXUS_SCRIPTING_VERSION=0.2.0 \
13-
NEXUS_REPOSITORY_R_PLUGIN_VERSION="1.0.4" \
13+
NEXUS_REPOSITORY_R_PLUGIN_VERSION="1.0.5" \
1414
NEXUS_REPOSITORY_HELM_PLUGIN_VERSION="0.0.13" \
1515
SERVICE_TAGS=webapp \
1616
SERVICE_ADDITIONAL_SERVICES='[{"name": "docker-registry", "location": "v2", "pass": "nexus/repository/docker-registry/v2/"}]' \
1717
NEXUS_WORKDIR=/opt/sonatype/nexus \
18-
NEXUS_SERVER="http://localhost:8081/nexus"
18+
NEXUS_SERVER="http://localhost:8081/nexus" \
19+
SHA256_TINI="eadb9d6e2dc960655481d78a92d2c8bc021861045987ccd3e27c7eae5af0cf33" \
20+
SHA256_NEXUS_TAR="7a2e62848abeb047c99e114b3613d29b4afbd635b03a19842efdcd6b6cb95f4e" \
21+
SHA256_NEXUS_CLAIM="8fbadc7c5f9a22a0ec22c76d6a4dbe9011cedfe2741b5ff817e32f9775add593" \
22+
SHA256_NEXUS_SCRIPTING="60c7f3d8a0c97b1d90d954ebad9dc07dbeb7927934b618c874b2e72295cafb48" \
23+
SHA256_NEXUS_CARP="cce09ad1a817dffaf06c65ea7324ffb1cc7840589de51279043280cfe6eb971d" \
24+
SHA256_NEXUS_R="8a13c4327b346743b0fbee533871d20719510c7c2d88ecd74574ca636e085372" \
25+
SHA256_NEXUS_HELM="1ed0e77b8cdff52ad6b27eb297bcfcf64c2fed7c0cd1462bd8223bd1faf7e56f"
1926

2027
RUN set -x \
2128
# add nexus user and group
@@ -24,33 +31,40 @@ RUN set -x \
2431
# install tini
2532
&& curl --fail --silent --location --retry 3 -o /bin/tini \
2633
https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 \
34+
&& echo "${SHA256_TINI} */bin/tini" |sha256sum -c - \
2735
&& chmod +x /bin/tini \
2836
# install nexus
2937
&& mkdir -p ${NEXUS_WORKDIR} \
30-
&& curl --fail --silent --location --retry 3 \
38+
&& curl --fail --silent --location --retry 3 -o nexus.tar.gz \
3139
https://download.sonatype.com/nexus/3/nexus-${NEXUS_VERSION}-unix.tar.gz \
32-
| gunzip \
33-
| tar x -C /tmp nexus-${NEXUS_VERSION} \
40+
&& echo "${SHA256_NEXUS_TAR} *nexus.tar.gz" |sha256sum -c - \
41+
&& tar -xf nexus.tar.gz -C /tmp nexus-${NEXUS_VERSION} \
42+
&& rm nexus.tar.gz \
3443
&& mv /tmp/nexus-${NEXUS_VERSION}/* ${NEXUS_WORKDIR}/ \
3544
&& mv /tmp/nexus-${NEXUS_VERSION}/.[!.]* ${NEXUS_WORKDIR}/ \
3645
&& rmdir /tmp/nexus-${NEXUS_VERSION} \
3746
# install nexus-claim
38-
&& curl --fail --silent --location --retry 3 \
47+
&& curl --fail --silent --location --retry 3 -o nexus-claim.tar.gz \
3948
https://github.com/cloudogu/nexus-claim/releases/download/v${NEXUS_CLAIM_VERSION}/nexus-claim-${NEXUS_CLAIM_VERSION}.tar.gz \
40-
| gunzip \
41-
| tar x -C /usr/bin \
42-
&& curl --fail --silent --location --retry 3 \
49+
&& echo "${SHA256_NEXUS_CLAIM} *nexus-claim.tar.gz" |sha256sum -c - \
50+
&& tar -xf nexus-claim.tar.gz -C /usr/bin \
51+
&& rm nexus-claim.tar.gz \
52+
&& curl --fail --silent --location --retry 3 -o nexus-scripting.tar.gz \
4353
https://github.com/cloudogu/nexus-scripting/releases/download/v${NEXUS_SCRIPTING_VERSION}/nexus-scripting-${NEXUS_SCRIPTING_VERSION}.tar.gz \
44-
| gunzip \
45-
| tar x -C /usr/bin \
46-
&& curl --fail --silent --location --retry 3 \
54+
&& echo "${SHA256_NEXUS_SCRIPTING} *nexus-scripting.tar.gz" |sha256sum -c - \
55+
&& tar -xf nexus-scripting.tar.gz -C /usr/bin \
56+
&& rm nexus-scripting.tar.gz \
57+
&& curl --fail --silent --location --retry 3 -o nexus-carp.tar.gz \
4758
https://github.com/cloudogu/nexus-carp/releases/download/v${NEXUS_CARP_VERSION}/nexus-carp-${NEXUS_CARP_VERSION}.tar.gz \
48-
| gunzip \
49-
| tar x -C /usr/bin \
59+
&& echo "${SHA256_NEXUS_CARP} *nexus-carp.tar.gz" | sha256sum -c - \
60+
&& tar -xf nexus-carp.tar.gz -C /usr/bin \
61+
&& rm nexus-carp.tar.gz \
5062
&& curl --fail --silent --location --retry 3 -o ${NEXUS_WORKDIR}/deploy/nexus-repository-r-${NEXUS_REPOSITORY_R_PLUGIN_VERSION}-bundle.kar \
5163
https://repo1.maven.org/maven2/org/sonatype/nexus/plugins/nexus-repository-r/${NEXUS_REPOSITORY_R_PLUGIN_VERSION}/nexus-repository-r-${NEXUS_REPOSITORY_R_PLUGIN_VERSION}-bundle.kar \
64+
&& echo "${SHA256_NEXUS_R} *${NEXUS_WORKDIR}/deploy/nexus-repository-r-${NEXUS_REPOSITORY_R_PLUGIN_VERSION}-bundle.kar" |sha256sum -c - \
5265
&& curl --fail --silent --location --retry 3 -o ${NEXUS_WORKDIR}/deploy/nexus-repository-helm-${NEXUS_REPOSITORY_HELM_PLUGIN_VERSION}-bundle.kar \
5366
https://repo1.maven.org/maven2/org/sonatype/nexus/plugins/nexus-repository-helm/${NEXUS_REPOSITORY_HELM_PLUGIN_VERSION}/nexus-repository-helm-${NEXUS_REPOSITORY_HELM_PLUGIN_VERSION}-bundle.kar \
67+
&& echo "${SHA256_NEXUS_HELM} *${NEXUS_WORKDIR}/deploy/nexus-repository-helm-${NEXUS_REPOSITORY_HELM_PLUGIN_VERSION}-bundle.kar" |sha256sum -c - \
5468
&& chown -R nexus:nexus ${NEXUS_WORKDIR} \
5569
&& chmod -R 770 ${NEXUS_WORKDIR}
5670

@@ -64,5 +78,7 @@ EXPOSE 8082
6478

6579
WORKDIR ${NEXUS_WORKDIR}
6680

81+
HEALTHCHECK CMD [ $(doguctl healthy nexus; echo $?) == 0 ]
82+
6783
ENTRYPOINT [ "/bin/tini", "--" ]
6884
CMD ["/pre-startup.sh"]

dogu.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"Name": "official/nexus",
3-
"Version": "3.18.1-2",
3+
"Version": "3.19.1-1",
44
"DisplayName": "Sonatype Nexus",
55
"Description": "The Nexus Repository is like the local warehouse where all of the parts and finished goods used in your software supply chain are stored and distributed.",
66
"Url": "http://www.sonatype.org/nexus",

integrationTests/adminFunctions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ module.exports = class AdminFunctions{
114114
// click Yes
115115
await driver.findElement(By.xpath("//span[.='Yes']")).click();
116116
// wait for success button
117-
await driver.wait(until.elementLocated(By.className("x-title-text x-title-text-nx-message-success x-title-item")), interfaceWaitInterval);
117+
await driver.wait(until.elementLocated(By.className("success x-toast x-layer success-default x-border-box")), interfaceWaitInterval);
118118
};
119119

120120
async giveAdminRights(){

integrationTests/utils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ const chromeOptions = {
1212

1313
// identifiers for UI interactions
1414
const UI = {
15-
myAccount: "button-1141-btnInnerEl",
15+
myAccount: "button-1142-btnInnerEl",
1616
changeSettingsButton: "button-1125-btnIconEl",// indicates admin user
17-
logoutButton: "nx-header-signout-1143-btnIconEl"
17+
logoutButton: "nx-header-signout-1144-btnIconEl"
1818
};
1919

2020
chromeCapabilities.set('chromeOptions', chromeOptions);

resources/startup.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ set -o errexit
33
set -o nounset
44
set -o pipefail
55

6+
if [[ $(nproc) -lt 4 ]]; then
7+
echo "ERROR: Your environment does not provide enough processing units for Sonatype Nexus. At least four cores are required.";
8+
doguctl state "ErrorNotEnoughProcessingUnits"
9+
sleep 300;
10+
exit 1;
11+
fi
12+
613
# variables
714
ADMINUSER="admin"
815
NEXUS_DATA_DIR=/var/lib/nexus
@@ -51,6 +58,7 @@ function setNexusVmoptionsAndProperties() {
5158
-Djavax.net.ssl.trustStore=${TRUSTSTORE}
5259
-Djavax.net.ssl.trustStorePassword=changeit
5360
-Djava.net.preferIPv4Stack=true
61+
-Djava.endorsed.dirs=lib/endorsed
5462
EOF
5563
}
5664

spec/goss/goss.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ file:
4545
/opt/sonatype/nexus/bin/nexus.vmoptions:
4646
exists: true
4747
mode: "0770"
48-
size: 608
48+
size: 644
4949
owner: nexus
5050
group: nexus
5151
filetype: file
@@ -70,4 +70,4 @@ process:
7070
running: true
7171
port:
7272
tcp:8081:
73-
listening: true
73+
listening: true

0 commit comments

Comments
 (0)