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