第 2 章 Jenkins 代理
OpenShift Container Platform 提供了一个基础镜像,用作 Jenkins 代理。
Jenkins 代理的 Base 镜像执行以下操作:
-
拉取(pull)所需工具、无头 Java、Jenkins JNLP 客户端以及有用的工具,包括
git
、tar
、zip
和nss
等。 - 建立 JNLP 代理作为入口点。
-
包括
oc
客户端工具,用于从 Jenkins 任务调用命令行操作。 -
为 Red Hat Enterprise Linux(RHEL)和
localdev
镜像提供 Dockerfile。
使用适合您的 OpenShift Container Platform 发行版本的代理镜像版本。嵌入了与 OpenShift Container Platform 版本不兼容的 oc
客户端版本可能会导致意外行为。
OpenShift Container Platform Jenkins 镜像还定义了以下示例 java-builder
pod 模板,以说明如何将代理镜像用于 Jenkins Kubernetes 插件。
java-builder
pod 模板采用两个容器:*其中一个是 jnlp
容器,它使用 OpenShift Container Platform Base agent 镜像并处理 JNLP 合同来启动和停止 Jenkins 代理。* 一个是 java
容器,它使用 java
OpenShift Container Platform Sample ImageStream,其包含各种 Java 二进制文件,包括 Maven 二进制文件 mvn
,用于构建代码。
2.1. Jenkins 代理镜像
OpenShift Container Platform Jenkins 代理镜像在 Quay.io 或 registry.redhat.io 上提供。
Jenkins 镜像通过 Red Hat Registry 提供:
$ docker pull registry.redhat.io/ocp-tools-4/jenkins-rhel8:<image_tag>
$ docker pull registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:<image_tag>
要使用这些镜像,您可直接从 Quay.io 或 registry.redhat.io 访问或将其推送(push)到 OpenShift Container Platform 容器镜像 registry 中。