gpt4 book ai didi

java - 如何在容器化 Jenkins 中使用主机系统中的 JDK 11 构建 Spring Boot 2

转载 作者:行者123 更新时间:2023-12-02 05:06:09 25 4
gpt4 key购买 nike

我在我的docker-compose.yml中使用了jenkinsci/blueocean:latest,它不支持,但是JDK 11安装在docker的主机系统上。

现在这个 dockerized Jenkins 基于 JDK 8,但我想使用 11 来使用 Spring Boot 2 构建我的项目。

在 dockerized jenkins 上构建作业时如何使用主机系统上安装的 JDK 11?

最佳答案

Linux 下的 java 依赖于 glibc,docker 镜像 jenkinsci/blueocean:latest 使用 alpine,alpine 使用 MUSL 作为标准 C 库。

要在 Alpine 图像中使用java,有一些技巧,但并不容易。您有其他选择吗?准备 docker 镜像。请参阅this link了解更多信息。

要工作,您是否必须使用 jenkins 中不使用 alpine 的另一个图像。请参阅下面的示例

version: '3'

services:
blueocean:
image: jenkinsci/blueocean:latest
ports:
- 8080:8080
volumes:
- ./jdk-11.0.2:/opt/jdk11-glibc # doens't work
- ./jdk-13-ea-musl:/opt/jdk13-musl # work

jenkins:
image: jenkins/jenkins:latest
ports:
- 8081:8080
volumes:
- ./jdk-11.0.2:/opt/jdk11-glibc # work
- ./jdk-13-ea-musl:/opt/jdk13-musl # doens't work

jenkins-alpine:
image: jenkins/jenkins:alpine
ports:
- 8082:8080
volumes:
- ./jdk-11.0.2:/opt/jdk11-glibc # doens't work
- ./jdk-13-ea-musl:/opt/jdk13-musl # work

# alternatively, you can use the jenkins version with jdk11 and install blueocean
jenkins-jdk11:
image: jenkins/jenkins:jdk11
ports:
- 8083:8080

您想在更新 jenkins 时保留设置,是否必须外部化卷 /var/jenkins_home

关于java - 如何在容器化 Jenkins 中使用主机系统中的 JDK 11 构建 Spring Boot 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com