Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Windows): switch from temurin base images to temurin installer #787

Conversation

lemeurherve
Copy link
Member

@lemeurherve lemeurherve commented Apr 17, 2024

This PR switches from temurin base images to the temurin installer for the Windows images.

Benefits:

  • Less layers to pull
  • Faster availability as we don't need to wait for every kind of images (OS/architecture) to be released

Notes:

  • Apart from the use of the installer instead of a temurin base image is the change to the build process to pass the JAVA_VERSION from the docker compose file to the tests.
  • Using the happy path of api.adoptium.net, retrieving the MSI installer from jdk version only (retrieving it from the GitHub releases requires the use of several variation of the jdk version)
  • Using a Windows Server Core jdk-core base image for the nanoserver image: we can't use a nanoserver one as we need to retrieve some files from a Windows Server Core anyway
    COPY --from=jdk-core /windows/system32/netapi32.dll /windows/system32/netapi32.dll
    COPY --from=jdk-core /windows/system32/whoami.exe /windows/system32/whoami.exe

    The alternative would be to retrieve the jdk from an existing Windows Server Core agent image and thus having to wait for it to be available first as trade-off.
    FTR, that's how Adoptium is making their own nanoserver image: https://github.com/adoptium/containers/blob/df93f85c97eff616bf43de2c6ff7661d4174f833/21/jdk/windows/nanoserver-1809/Dockerfile#L34
  • Deliberately not including jlink in this pull request for Windows images as there is currently nothing in the repo capable of testing it properly

Split of:

The updatecli manifests will be updated at once after switching off Windows and Linux images.

Ref:

Testing done

Local builds + CI

Submitter checklist

Preview Give feedback

@lemeurherve lemeurherve requested a review from a team as a code owner April 17, 2024 07:03
@lemeurherve lemeurherve force-pushed the helpdesk4029-switch-off-from-eclipse-temurin-base-images-windows branch from baab2b7 to c8be815 Compare April 17, 2024 10:21
@lemeurherve lemeurherve force-pushed the helpdesk4029-switch-off-from-eclipse-temurin-base-images-windows branch from c8be815 to 62ac3eb Compare April 17, 2024 12:29
dduportal added a commit to dduportal/docker-inbound-agents that referenced this pull request Apr 24, 2024
It introduces the following changes:

- Faster build due to less layers to pull (ref. jenkinsci/docker-agent#787)
- Retrieving the `netapi32` DLL and `whoami.exe`` from the Python parent image instead of Temurin image
- Moving `ARG JAVA_VERSION` into the last stage's scope
- Pin JDK21 version to 21+35 to ensure a valid installer is retrieved

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
dduportal added a commit to dduportal/docker-inbound-agents that referenced this pull request Apr 24, 2024
It introduces the following changes:

- Faster build due to less layers to pull (ref. jenkinsci/docker-agent#787)
- Retrieving the `netapi32` DLL and `whoami.exe`` from the Python parent image instead of Temurin image
- Moving `ARG JAVA_VERSION` into the last stage's scope
- Pin JDK21 version to 21+35 to ensure a valid installer is retrieved

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
dduportal added a commit to dduportal/docker-inbound-agents that referenced this pull request Apr 24, 2024
It introduces the following changes:

- Faster build due to less layers to pull (ref. jenkinsci/docker-agent#787)
- Retrieving the `netapi32` DLL and `whoami.exe`` from the Python parent image instead of Temurin image
- Moving `ARG JAVA_VERSION` into the last stage's scope
- Pin JDK21 version to 21+35 to ensure a valid installer is retrieved

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
dduportal added a commit to dduportal/docker-inbound-agents that referenced this pull request Apr 24, 2024
It introduces the following changes:

- Faster build due to less layers to pull (ref. jenkinsci/docker-agent#787)
- Retrieving the `netapi32` DLL and `whoami.exe`` from the Python parent image instead of Temurin image
- Moving `ARG JAVA_VERSION` into the last stage's scope
- Pin JDK21 version to 21+35 to ensure a valid installer is retrieved

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
dduportal added a commit to jenkins-infra/docker-inbound-agents that referenced this pull request Apr 24, 2024
It introduces the following changes:

- Faster build due to less layers to pull (ref. jenkinsci/docker-agent#787)
- Retrieving the `netapi32` DLL and `whoami.exe`` from the Python parent image instead of Temurin image
- Moving `ARG JAVA_VERSION` into the last stage's scope
- Pin JDK21 version to 21+35 to ensure a valid installer is retrieved

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
Copy link
Contributor

@dduportal dduportal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@dduportal dduportal merged commit 92ffb18 into jenkinsci:master May 4, 2024
10 checks passed
@lemeurherve lemeurherve deleted the helpdesk4029-switch-off-from-eclipse-temurin-base-images-windows branch May 4, 2024 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants