2장. Jenkins 에이전트

OpenShift Container Platform에서는 Jenkins 에이전트로 사용할 기본 이미지를 제공합니다.

Jenkins 에이전트의 기본 이미지는 다음을 수행합니다.

  • 필요한 도구, 헤드리스 Java, Jenkins JNLP 클라이언트 및 git,tar,zipnss 를 포함한 유용한 툴을 모두 가져옵니다.
  • 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 컨테이너는 java OpenShift Container Platform 샘플 ImageStream을 사용합니다.

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 컨테이너 이미지 레지스트리로 푸시할 수 있습니다.