4장. reference


4.1. S2I(Source-to-Image)

OpenShift용 Red Hat JBoss Web Server 이미지에는 S2I 스크립트 및 Maven이 포함되어 있습니다.

4.1.1. OpenShift용 JWS와 함께 maven artifact 저장소 사용

Maven 리포지토리에는 프로젝트 ScanSetting, 라이브러리 ScanSetting, 플러그인 또는 기타 프로젝트별 아티팩트와 같은 빌드 아티팩트 및 종속 항목이 있습니다. 또한 S2I 빌드를 수행하는 동안 아티팩트를 다운로드할 위치도 정의합니다. Maven Central Repository 사용과 함께 일부 조직에서는 로컬 사용자 지정 리포지토리(미러)도 배포합니다.

로컬 미러를 사용하는 이점은 다음과 같습니다.

  • 지리적으로 더 빠르고 빠르게 동기화된 미러를 사용할 수 있습니다.
  • 리포지토리 콘텐츠를 보다 효과적으로 제어합니다.
  • 공용 서버 및 리포지토리에 의존하지 않고도 다양한 팀(개발자, CI) 간에 아티팩트를 공유할 수 있습니다.
  • 빌드 시간 개선

Maven 리포지토리 관리자는 미러에 대한 로컬 캐시 역할을 할 수 있습니다. 리포지토리 관리자가 http://10.0.0.1:8080/repository/internal/ 에 이미 배포되어 있고 외부로 연결할 수 있다고 가정하면 S2I 빌드에서 이 리포지토리를 사용할 수 있습니다. 내부 Maven 리포지토리를 사용하려면 MAVEN_MIRROR_URL 환경 변수를 애플리케이션의 빌드 구성에 추가합니다.

새 빌드 구성의 경우 oc new- app 또는 oc new -build 와 함께 --build-env 옵션을 사용합니다.

$ oc new-app \
 https://github.com/jboss-openshift/openshift-quickstarts.git#master \
 --image-stream=jboss-webserver50-tomcat9-openshift \
 --context-dir='tomcat-websocket-chat' \
 --build-env MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/ \
 --name=jws-wsch-app

기존 빌드 구성의 경우:

  1. MAVEN_MIRROR_URL 변수가 필요한 빌드 구성을 확인합니다.

    $ oc get bc -o name
    
    buildconfig/jws
  2. MAVEN_MIRROR_URL 환경 변수를 buildconfig/jws 에 추가합니다.

    $ oc env bc/jws MAVEN_MIRROR_URL="http://10.0.0.1:8080/repository/internal/"
    
    buildconfig "jws" updated
  3. 빌드 구성이 업데이트되었는지 확인합니다.

    $ oc env bc/jws --list
    
    # buildconfigs jws
    MAVEN_MIRROR_URL=http://10.0.0.1:8080/repository/internal/
  4. oc start-build를 사용하여 애플리케이션의 새 빌드 예약
참고

애플리케이션 빌드 중에 Maven 종속성은 기본 공용 리포지토리 대신 리포지토리 관리자에서 다운로드합니다. 빌드가 완료되면 미러는 빌드 중에 검색된 모든 종속성을 포함합니다.

4.1.2. OpenShift 이미지용 Red Hat JBoss Web Server에 포함된 스크립트

run
runs catalina (Tomcat)
assemble
Maven을 사용하여 소스를 빌드하고 패키지(.war)를 생성하여 $JWS_HOME/webapps 디렉터리로 이동합니다.

4.1.3. OpenShift 데이터 소스용 JWS

데이터 원본에는 세 가지 유형이 있습니다.

  1. 기본 내부 데이터 소스: PostgreSQL, MySQL 및 MongoDB입니다. 이러한 데이터 소스는 Red Hat Registry를 통해 기본적으로 OpenShift에서 사용할 수 있으며 이미지 스트림에 대해 추가 환경 파일이 필요하지 않습니다. 데이터베이스를 검색하고 데이터 소스로 사용하려면 DB_SERVICE_PREFIX_MAPPING 환경 변수를 OpenShift 서비스 이름으로 설정합니다.
  2. 기타 내부 데이터 소스: 기본적으로 Red Hat Registry를 통해 사용할 수 없는 데이터 소스이지만 OpenShift에서 실행됩니다. 이러한 데이터 소스 구성은 OpenShift 보안에 추가된 환경 파일을 통해 제공됩니다.
  3. 외부 데이터 소스: 외부 데이터 소스의 OpenShift.Configuration에서 실행되지 않는 데이터 소스는 OpenShift 보안에 추가된 환경 파일을 통해 제공됩니다.

데이터 소스 환경 파일은 프로젝트의 OpenShift 시크릿에 추가됩니다. 이러한 환경 파일은 ENV_FILES 환경 속성을 사용하여 템플릿 내에서 호출됩니다.

데이터 소스는 특정 환경 변수의 값을 기반으로 자동 생성됩니다. 가장 중요한 환경 변수는 DB_SERVICE_PREFIX_MAPPING 입니다. DB_SERVICE_PREFIX_MAPPING 은 데이터 소스에 대한 JNDI 매핑을 정의합니다. 이 변수에 허용되는 값은 POOLNAME-DATABASETYPE=PREFIX 트래블릿의 쉼표로 구분된 목록입니다.

빌드 구성은 S2I(Source-to-Image) 빌드 명령에 환경 변수를 포함하여 수정할 수 있습니다( 4.1.1절. “OpenShift용 JWS와 함께 maven artifact 저장소 사용”참조). OpenShift용 Red Hat JBoss Web Server의 유효한 환경 변수는 다음과 같습니다.

  • POOLNAME 은 데이터 소스에서 풀 이름으로 사용됩니다.
  • 10.0.0.1TYPE 는 사용할 데이터베이스 드라이버입니다.
  • http EFIX는 데이터 소스를 구성하는 데 사용되는 환경 변수 이름에 사용되는 접두사입니다.

DB_SERVICE_PREFIX_MAPPING 환경 변수에 정의된 각 POOLNAME-DATABASETYPE=PREFIX Uninstallt에 대해 이미지를 실행할 때 실행되는 별도의 데이터 소스를 생성합니다.

데이터 소스 구성 환경 변수의 전체 목록은 여기에 제공된 데이터 소스 구성 환경 변수 목록을 참조하십시오.

4.1.4. OpenShift 호환 환경 변수용 JWS

빌드 구성은 S2I(Source-to-Image) 빌드 명령에 환경 변수를 포함하여 수정할 수 있습니다( 4.1.1절. “OpenShift용 JWS와 함께 maven artifact 저장소 사용”참조). OpenShift용 Red Hat JBoss Web Server의 유효한 환경 변수는 다음과 같습니다.

변수 이름표시 이름설명값 예

ARTIFACT_DIR

해당 없음

.war,.ear, .jar 파일은 deployments 디렉토리에 복사됩니다.

대상

APPLICATION_NAME

애플리케이션 이름

애플리케이션 이름입니다.

jws-app

CONTEXT_DIR

컨텍스트 디렉터리

빌드할 Git 프로젝트 내 경로; 루트 프로젝트 디렉터리용 비어 있음

tomcat-websocket-chat

GITHUB_WEBHOOK_SECRET

GitHub Webhook 보안

GitHub 트리거 보안

[a-zA-Z0-9]{8}에서 표현식

GENERIC_WEBHOOK_SECRET

일반 Webhook 보안

일반 빌드 트리거 보안

[a-zA-Z0-9]{8}에서 표현식

HOSTNAME_HTTP

사용자 정의 HTTP 경로 호스트 이름

http 서비스 경로에 대한 사용자 정의 호스트 이름입니다. 기본 호스트 이름의 경우 비워 둡니다.

<application-name>-<project>.<default-domain-suffix>

HOSTNAME_HTTPS

사용자 정의 HTTPS 경로 호스트 이름

https 서비스 경로에 대한 사용자 정의 호스트 이름입니다. 기본 호스트 이름의 경우 비워 둡니다.

<application-name>-<project>.<default-domain-suffix>

IMAGE_STREAM_NAMESPACE

이미지 스트림 네임스페이스

Red Hat Middleware 이미지의 ImageStream이 설치된 네임스페이스

openshift

JWS_HTTPS_SECRET

보안 이름

인증서 파일이 포함된 보안의 이름

jws-app-secret

JWS_HTTPS_CERTIFICATE

인증서 이름

보안 내의 인증서 파일의 이름

server.crt

JWS_HTTPS_CERTIFICATE_KEY

인증서 키 이름

보안 내의 인증서 키 파일의 이름

server.key

JWS_HTTPS_CERTIFICATE_PASSWORD

인증서 암호

인증서 암호

P5ssw0rd

JWS_ADMIN_USERNAME

JWS 관리자 사용자 이름

JWS 관리자 계정 사용자 이름

ADMIN

JWS_ADMIN_PASSWORD

JWS 관리자 암호

JWS 관리자 계정 암호

P5sw0rd

SOURCE_REPOSITORY_URL

Git 리포지토리 URL

애플리케이션의 Git 소스 URI

https://github.com/jboss-openshift/openshift-quickstarts.git

SOURCE_REPOSITORY_REFERENCE

Git 참조

Git 분기/tag 참조

1.2

IMAGE_STREAM_NAMESPACE

이미지 스트림 네임스페이스

Red Hat Middleware 이미지의 ImageStream이 설치된 네임스페이스

openshift

MAVEN_MIRROR_URL

Maven 미러 URL

구성할 Maven 미러/repository 관리자의 URL입니다.

http://10.0.0.1:8080/repository/internal/

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.