第 2 章 Jenkins 代理
OpenShift Dedicated 提供了一个基础镜像,用作 Jenkins 代理。
Jenkins 代理的 Base 镜像执行以下操作:
-
拉取(pull)所需工具、无头 Java、Jenkins JNLP 客户端以及有用的工具,包括
git
、tar
、zip
和nss
等。 - 建立 JNLP 代理作为入口点。
-
包括
oc
客户端工具,用于从 Jenkins 任务调用命令行操作。 -
为 Red Hat Enterprise Linux(RHEL)和
localdev
镜像提供 Dockerfile。
重要
使用适合您的 OpenShift Dedicated 发行版本的代理镜像版本。嵌入与 OpenShift Dedicated 版本不兼容的 oc
客户端版本可能会导致意外行为。
OpenShift Dedicated Jenkins 镜像还定义了以下示例 java-builder
pod 模板,以说明如何将代理镜像与 Jenkins Kubernetes 插件一起使用。
java-builder
pod 模板采用两个容器:
-
使用 OpenShift Dedicated Base 代理镜像的
jnlp
容器,并处理 JNLP 合同来启动和停止 Jenkins 代理。 -
使用
java
OpenShift Dedicated Sample ImageStream 的java
容器,其中包含各种 Java 二进制文件,包括 Maven 二进制mvn
,用于构建代码。
2.1. Jenkins 代理镜像
OpenShift Dedicated 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 Dedicated 容器镜像 registry 中。