Skip to content

Commit 7962f13

Browse files
authored
Merge pull request #1638 from gentics/hotfix-2.1.x-js-deploy
Added automatic JS building and deployment to CI builds
2 parents a410a7e + 85230e6 commit 7962f13

2 files changed

Lines changed: 59 additions & 4 deletions

File tree

.jenkins/Dockerfile.nexus

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
11
FROM docker.gentics.com/jenkinsbuilds/mesh-slave:java11-1.1
2+
ARG NODE_VERSION=20.12.1
3+
24
USER root
35

46
ADD ./files/settings.xml /opt/maven/conf/settings.xml
57

8+
# Update public keys for node installs.
9+
RUN set -ex \
10+
&& for key in \
11+
4ED778F539E3634C779C87C6D7062848A1AB005C \
12+
141F07595B7B3FFE74309A937405533BE57C7D57 \
13+
74F12602B6F1C4E913FAA37AD3A89613643B6201 \
14+
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \
15+
CC68F5A3106FF448322E48ED27F5E38D5B0A215F \
16+
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
17+
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
18+
890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 \
19+
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
20+
108F52B48DB57BB0CC439B2997B01419BD92F80A \
21+
A363A499291CBBC940DD62E41F10027AF002F8B0 \
22+
; do \
23+
gpg2 --batch --keyserver keys.openpgp.org --recv-keys "$key"; \
24+
done
25+
26+
# Download NodeJS
27+
RUN mkdir /opt/node \
28+
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \
29+
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt" \
30+
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.sig"
31+
# Verify downloaded NodeJS files
32+
RUN gpg --verify SHASUMS256.txt.sig SHASUMS256.txt \
33+
&& grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c -
34+
# Install NodeJS
35+
RUN tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /opt/node --strip-components=1 \
36+
&& rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.sig SHASUMS256.txt \
37+
&& ln -s /opt/node/bin/node /usr/local/bin/node \
38+
&& ln -s /opt/node/bin/npm /usr/local/bin/npm \
39+
&& ln -s /opt/node/bin/npx /usr/local/bin/npx \
40+
&& echo "export PATH=\$PATH:/opt/node/bin" > /etc/profile.d/nodejs.sh \
41+
&& chmod +x /etc/profile.d/* \
42+
&& chown -R 10000:10000 /opt/node
43+
644
USER jenkins

Jenkinsfile.split

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,11 +277,12 @@ stage("Setup Build Environment") {
277277

278278
stage("Deploy") {
279279
if (Boolean.valueOf(params.runDeploy) || Boolean.valueOf(params.runDeployTesting)) {
280+
if (Boolean.valueOf(params.runDeployTesting)) {
281+
version = branchName;
282+
registryHost = registryHostTest;
283+
}
284+
280285
if (Boolean.valueOf(params.runDocker)) {
281-
if (Boolean.valueOf(params.runDeployTesting)) {
282-
version = branchName;
283-
registryHost = registryHostTest;
284-
}
285286
withCredentials([usernamePassword(credentialsId: 'docker.gentics.com', usernameVariable: 'repoUsername', passwordVariable: 'repoPassword')]) {
286287
sh 'docker login -u $repoUsername -p $repoPassword ' + registryHost
287288

@@ -292,6 +293,22 @@ stage("Setup Build Environment") {
292293
sh 'docker push ' + registryHost + '/gentics/mesh:' + version
293294
}
294295
}
296+
297+
if (Boolean.valueOf(params.runDeploy) {
298+
dir(path: 'js') {
299+
// Install dependencies
300+
sh 'npm ci --no-audit --no-fund'
301+
302+
// Set the version for the packages
303+
sh "npm run nx -- release version ${version}"
304+
305+
// Build all JS packages
306+
sh 'npm run nx -- run-many --targets build'
307+
308+
// Publish the pacakges to artifactory
309+
sh 'npm run nx -- release publish'
310+
}
311+
}
295312
} else {
296313
echo "Deploy skipped.."
297314
}

0 commit comments

Comments
 (0)