[FOLIO-3494] Create new jenkins docker image for Node v16 and Java 17 Created: 09/May/22  Updated: 06/Jun/22  Resolved: 17/May/22

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Story Priority: P3
Reporter: Jakub Skoczen Assignee: David Crossley
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks RSRVR-48 OpenJDK 17 Closed
blocks FOLIO-3434 Update NodeJS to Active LTS (v16) in ... Closed
Relates
relates to FOLIO-3478 Update jenkins-slave-docker to Jammy LTS Closed
relates to FOLIO-3499 Create new folioci/alpine-jre-openjdk... Closed
relates to FOLIO-3511 Verify node v16 build with a Jenkins-... Closed
Sprint: DevOps Sprint 139
Development Team: FOLIO DevOps
RCA Group: TBD

 Description   

Create a new build image "folioci/jenkins-slave-all:java-17" that includes Node v16 and JDK17, and updates Ubuntu version to 22.04 Jammy.

Configure Jenkins to provide "jenkins-agent-java17" build node type that can be used in the Jenkins Java pipeline via buildNode option in a module's Jenkinsfile.

Update jenkins-pipeline-libs/vars/setEnvMvn.groovy to detect Java 17 in the build image, otherwise Java 11, and drop support for Java 1.8 version.

Update jenkins-pipeline-libs/vars/buildMvn.groovy to utilise the buildNode option in a module's Jenkinsfile. Otherwise default to "jenkins-agent-java11" and drop support for the old default "jenkins-slave-all" (i.e. Java 1.8).

Update the build pipeline for NPM to allow specifying buildNode similarly to Java modules.



 Comments   
Comment by David Crossley [ 13/May/22 ]

The new image is built and pushed as "folioci/jenkins-slave-all:java-17" and "3.0.0". See folio-tools/pull/225.

The configuration for back-end modules is done. See jenkins-pipeline-libs/pull/143.

Only one Jenkins cloud is configured to handle the new docker image, so not yet ready for prime time.

Comment by David Crossley [ 17/May/22 ]

The other Jenkins clouds are now configured to also handle this "java-17" image.

 

Comment by David Crossley [ 17/May/22 ]

The back-end modules, and the remaining front-end Jenkins-based modules, can now utilise either buildNode 'jenkins-agent-java17' (which has Java 17 and Node.js 16) or the default 'jenkins-agent-java11' (which has Java 11 and Node.js 14).

Refer to documentation at:

Comment by Marc Johnson [ 02/Jun/22 ]

Jakub Skoczen

I had no idea that Java 17 was now officially supported by FOLIO.

How / when was this decision made?

Comment by Jakub Skoczen [ 02/Jun/22 ]

Marc Johnson Support for node v16 and JDK 17 was added per request from development teams. AFAIK, there is no decision making process adding support for latest LTS version of these components, but maybe you know something that I don't.

Comment by Marc Johnson [ 02/Jun/22 ]

Jakub Skoczen

Support for node v16 and JDK 17 was added per request from development teams.

Ok.

AFAIK, there is no decision making process adding support for latest LTS version of these components, but maybe you know something that I don't.

I am not aware of any such process. That was why I asked the question of how this platform wide decision had been made.

Comment by Jakub Skoczen [ 02/Jun/22 ]

Marc Johnson I am sure you know this, but to be clear: this adds support for building JDK 17 based containers. It doesn't change what modules actually use during builds. This would be a sweeping change and would likely require a "decision" to invest human-resources into it. Beats me how should we tackle decision like this.

Comment by Marc Johnson [ 03/Jun/22 ]

Jakub Skoczen

this adds support for building JDK 17 based containers. It doesn't change what modules actually use during builds.

Oh, so JRE 17 can be used to run a module, however Java 17 features cannot be used in the module because the build jobs don't use it?

Or are you saying it is a per-module activity for folks to move the code to Java 17?

Comment by David Crossley [ 03/Jun/22 ]

Marc Johnson The CI is ready. Please see the comment earlier in this ticket.

Comment by Marc Johnson [ 06/Jun/22 ]

David Crossley Thanks. My interpretation Jakub Skoczen comment left me unsure.

Comment by Jakub Skoczen [ 06/Jun/22 ]

Marc Johnson I was referring to the fact that this is a per-module activity.

Comment by Marc Johnson [ 06/Jun/22 ]

Jakub Skoczen

I was referring to the fact that this is a per-module activity.

Cool, thanks for clarifying. I concur that I don't know how the community makes those kinds of investment decisions.

Generated at Thu Feb 08 23:28:33 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.