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