7.4. Multus-s2i-build 템플릿을 사용하여 애플리케이션 이미지 빌드

eap-s2i-build 템플릿은 애플리케이션 소스 리포지토리의 위치와 애플리케이션을 빌드하는 데 사용할 EAP S2I 이미지의 위치를 구성하는 여러 매개 변수를 추가합니다. 이 템플릿을 사용하면 JBoss EAP 7.4, JBoss EAP XP 또는 JBoss EAP CD와 같은 JBoss EAP 버전에 대한 이미지 스트림을 사용할 수 있습니다.

절차

  1. OpenShift에서 EAP 이미지를 가져옵니다. 자세한 내용은 JBoss EAP XP에 대한 OpenShift 이미지 스트림 및 템플릿 가져오기 를 참조하십시오.
  2. 애플리케이션 이미지 스트림의 변경 사항에 대한 업데이트를 수신하고 새 빌드를 트리거하도록 이미지 스트림을 구성합니다. 자세한 내용은 주기적으로 imagestreamtag 가져오기 구성을 참조하십시오.
  3. EAP S 2I 이미지를 사용하여 애플리케이션 이미지를 빌드하기 위한 eap-s2i-build 템플릿을 생성합니다.

    $ oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/master/eap-s2i-build.yaml

    eap-s2i-build 템플릿은 중간 빌드 아티팩트 및 최종 애플리케이션 이미지에 해당하는 두 개의 빌드 구성과 두 개의 이미지 스트림을 생성합니다.

  4. 매개 변수로 eap-s2i-build 템플릿을 처리하여 최종 애플리케이션 이미지에 대한 리소스를 생성합니다. 다음 예제에서는 애플리케이션 이미지 my-app 을 생성합니다.

    $ oc process eap-s2i-build \
      -p APPLICATION_IMAGE=my-app \ 1
      \
      -p EAP_IMAGE=jboss-eap-xp1-openjdk11-openshift:1.0 \ 2
      -p EAP_RUNTIME_IMAGE=jboss-eap-xp1-openjdk11-runtime-openshift:1.0 \ 3
      -p EAP_IMAGESTREAM_NAMESPACE=$(oc project -q) \ 4
      \
      -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts.git \ 5
      -p SOURCE_REPOSITORY_REF=xp-1.0.x \ 6
      -p CONTEXT_DIR=microprofile-config | oc create -f - 7
    1
    애플리케이션 이미지 스트림의 이름입니다. 애플리케이션 이미지에 latest 태그가 지정됩니다.
    2
    EAP 빌더 이미지의 imagestreamtag입니다.
    3
    EAP 런타임 이미지에 대한 imagestreamtag입니다.
    4
    Red Hat Middleware 이미지 스트림이 설치된 네임스페이스입니다. 생략하면 openshift 네임스페이스가 사용됩니다. openshift 이외의 네임스페이스에 이미지 스트림을 설치한 경우에만 이를 수정합니다.
    5
    애플리케이션의 Git 소스 URL입니다.
    6
    Git 분기 또는 태그 참조
    7
    빌드할 애플리케이션이 포함된 Git 리포지토리 내의 경로입니다.
  5. EAP 운영자를 사용하여 배포를 위해 애플리케이션 이미지를 준비합니다.

    1. WildFlyServer 리소스를 구성합니다.

      $ cat > my-app.yaml<<EOF
      
      apiVersion: wildfly.org/v1alpha1
      kind: WildFlyServer
      metadata:
        name: my-app
      spec:
       applicationImage: 'my-app:latest'
       replicas: 1
      EOF
    2. 설정을 적용하고 EAP 운영자가 이 애플리케이션 이미지를 참조하는 새 WildFlyServer 리소스를 생성하도록 합니다.

      $ oc apply -f my-app.yaml
    3. 다음 명령을 사용하여 WildFlyServer 리소스를 확인합니다.

      $ oc get wfly my-app

      추가 리소스