[FOLIO-1940] Update Jenkins docker build image Created: 04/Apr/19  Updated: 10/Aug/20  Resolved: 10/Aug/20

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

Type: Task Priority: P2
Reporter: John Malconian Assignee: Ian Hardy
Resolution: Duplicate Votes: 0
Labels: ci, devops, platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks UXPROD-1821 3rd party dependency upgrades (Q4 2019) Closed
blocks UXPROD-2214 3rd party dependency upgrades (Q1 2020) Closed
Duplicate
is duplicated by FOLIO-2637 SPIKE: Add Java 11 support to Jenkin... Closed
Relates
relates to FOLIO-2115 Consider replacing Chrome with Chromi... Open
relates to FOLIO-2175 Update Jenkins docker build image: pa... Open
relates to FOLIO-1772 Upgrade to OpenJDK 11 Closed
relates to FOLIO-1941 SPIKE: Revisit approach to the FOLIO ... Closed
relates to FOLIO-2148 Gather notes about stuff needing atte... Closed
relates to FOLIO-2156 Pin the version of ansible in Jenkins... Closed
relates to FOLIO-2174 Spike: Identify tasks related to upda... Closed
relates to FOLIO-2350 Update nodejs on jenkins build image Closed
relates to FOLIO-2561 Update jenkins-slave-all Jenkins dock... Closed
Sprint: DevOps: Sprint 95
Story Points: 5
Development Team: FOLIO DevOps

 Description   

The docker build image used by FOLIO Jenkins needs general updating/tech refresh. Yarn, Node, Maven, AWS CLI, Ansible, Ubuntu, should all be upgraded to more recent versions and tested.

The image "jenkins-slave-all" is constructed from the Dockerfile at folio-tools/jenkins-slave-docker



 Comments   
Comment by Ian Hardy [ 24/Jul/19 ]

I think it would be good to add some kubernetes tools now that we're working with that. What comes to mind for me kubectl and the python openshift library (both are requirements for the ansible k8s module).

example steps to install:

#kubectl
RUN curl -LO \
  https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl
RUN chmod +x ./kubectl
RUN mv ./kubectl /usr/local/bin/kubectl

#python openshift
RUN pip3 install --upgrade pip
RUN pip3 install openshift
Comment by Jakub Skoczen [ 16/Sep/19 ]

Ian Hardy John Malconian is this a duplicate of FOLIO-1941 Closed ?

Comment by Ian Hardy [ 16/Sep/19 ]

Jakub Skoczen I think these are separate. This one is about updating the tech on our current image as is. I think we talked about waiting for java 11 so maybe we should decide whether or not this is blocked on FOLIO-1772 Closed . I think FOLIO-1941 Closed was about reconsidering the technology the base image uses if I understand.

Comment by David Crossley [ 19/Sep/19 ]

Yes this FOLIO-1940 Closed is about getting the current jenkins-slave-all build image updated soon. That is utilised by our Jenkins build jobs.

Whereas FOLIO-1941 Closed is separate. It is the Docker base image that is utilised by the Dockerfiles in each back-end module.

I do not recall waiting for Java 11. There is the linked FOLIO-2175 Open to get at least part of this task happening.

Comment by Ian Hardy [ 11/Nov/19 ]

Zak Burke's pointed out that node 8, which is on the image now, is EOL at the end of December, https://github.com/nodejs/Release

Comment by Zak Burke [ 11/Nov/19 ]

I tacked into this because the master branch of stripes-components is failing to build because html-minifier-terser (which is a transitive dependency of … something I haven’t figured out yet; yarn why html-minifier-terser says it isn’t present, but I digress) updated its node compatibility from >=6 to >=10 in the recent patch release from v5.0.0 to v5.0.1. And I haven't figured out how the branch builds succeed while those against master fail, but that's another story.

Comment by Ian Hardy [ 12/Nov/19 ]

Build & tagged a jenkins-slave-all:node-10 image for testing an update of just Node.

With John's help its possible to test builds using that container as I've done here:
https://jenkins-aws.indexdata.com/job/folio-org/job/stripes-components/job/folio-1940-node-10-test/2/console

Could try to get the other updates in here, or continue testing with the node update only for expedience.

Comment by Ian Hardy [ 12/Nov/19 ]

Some additional tests using the image build w/node 10

pr to platform-core (to test integration tests):
https://jenkins-aws.indexdata.com/job/folio-org/job/platform-core/job/PR-460/1/console
build of a backend module:
https://jenkins-aws.indexdata.com/job/folio-org/job/mod-inventory-storage/job/folio-1940-test/lastSuccessfulBuild/console

Comment by Ian Hardy [ 12/Nov/19 ]

tagged the node10 version as latest, should get pulled into builds now (attn Zak Burke),

reverted, further testing required

Comment by Zak Burke [ 12/Nov/19 ]

Aw, the initial results with passing integration tests (using Electron) against platform-core were so promising! Given we saw passing unit tests (with Chrome) against stripes-components, it's odd to me that unit tests failed in ui-inventory. I expected success or failure across the board :/

Comment by Ian Hardy [ 12/Nov/19 ]

I see ui-inventory still fails after reverting, so maybe that's a red herring.

Comment by Ian Hardy [ 14/Nov/19 ]

repeated test builds for ui-inventory, platform-core, stripes-components, and mod-inventory-storage using the node10 image and set it as the default build image at ~2 est today. (apologies for the delayed update)

Comment by Ian Hardy [ 10/Aug/20 ]

Closing this, replaced by FOLIO-2637 Closed for java 11 update.

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