2장. Jenkins 에이전트
OpenShift Container Platform에서는 Jenkins 에이전트로 사용할 기본 이미지를 제공합니다.
Jenkins 에이전트의 기본 이미지는 다음을 수행합니다.
-
필요한 도구, 헤드리스 Java, Jenkins JNLP 클라이언트 및
git
,tar
,zip
및nss
를 포함한 유용한 툴을 모두 가져옵니다. - JNLP 에이전트를 진입점으로 설정합니다.
-
Jenkins 작업 내에서 명령줄 작업을 호출하는
oc
클라이언트 도구가 포함되어 있습니다. -
RHEL(Red Hat Enterprise Linux) 및
localdev
이미지 모두에 Dockerfile을 제공합니다.
OpenShift Container Platform 릴리스 버전에 적합한 에이전트 이미지 버전을 사용합니다. OpenShift Container Platform 버전과 호환되지 않는 oc
클라이언트 버전을 포함하면 예기치 않은 동작이 발생할 수 있습니다.
OpenShift Container Platform Jenkins 이미지는 Jenkins Kubernetes 플러그인에서 에이전트 이미지를 사용하는 방법을 설명하기 위해 다음 샘플 java-builder
pod 템플릿도 정의합니다.
java-builder
pod 템플릿은 다음 두 개의 컨테이너를 사용합니다.
-
OpenShift Container Platform 기본 에이전트 이미지를 사용하고 Jenkins 에이전트를 시작하고 중지하기 위한 JNLP 계약을 처리하는
jnlp
컨테이너입니다. -
코드 빌드에 Maven 바이너리
mvn
을 포함한 다양한 Java 바이너리가 포함된java
OpenShift Container Platform Sample ImageStream을 사용하는Java
컨테이너입니다.
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 에서 직접 이미지에 액세스하거나 OpenShift Container Platform 컨테이너 이미지 레지스트리로 푸시할 수 있습니다.