This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.6.2.3. 튜토리얼: 파이프라인에서 바이너리 아티팩트
OpenShift의 Jenkins를 사용하면 적절한 툴과 함께 슬레이브 이미지를 사용하여 코드를 빌드할 수 있습니다. 예를 들어, maven 슬레이브를 사용하여 코드 리포지토리에서 WAR를 빌드할 수 있습니다. 그러나 이 아티팩트가 빌드되면 코드를 실행하기 위해 올바른 런타임 아티팩트가 포함된 이미지에 커밋해야 합니다. 바이너리 빌드는 이러한 아티팩트를 런타임 이미지에 추가하는 데 사용할 수 있습니다. 다음 튜토리얼에서는 maven 슬레이브를 사용하여 WAR를 빌드한 다음 Dockerfile 과 함께 바이너리 빌드를 사용하여 해당 WAR를 와일드카드 런타임 이미지에 추가하는 Jenkins 파이프라인을 만듭니다.
애플리케이션의 새 디렉터리를 생성합니다.
mkdir mavenapp cd mavenapp
$ mkdir mavenapp $ cd mavenappCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실행할 와일드카드 이미지 내의 적절한 위치에 WAR를 복사하는
Dockerfile을 생성합니다.Dockerfile이라는 로컬 파일에 다음을 복사합니다.FROM wildfly:latest COPY ROOT.war /wildfly/standalone/deployments/ROOT.war CMD $STI_SCRIPTS_PATH/run
FROM wildfly:latest COPY ROOT.war /wildfly/standalone/deployments/ROOT.war CMD $STI_SCRIPTS_PATH/runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 해당 Dockerfile의 새 BuildConfig를 생성합니다.
참고이렇게 하면
ROOT.war아티팩트를 아직 사용할 수 없으므로 처음에 실패하는 빌드가 자동으로 시작됩니다. 아래 파이프라인은 바이너리 빌드를 사용하여 해당 WAR를 빌드에 전달합니다.cat Dockerfile | oc new-build -D - --name mavenapp
$ cat Dockerfile | oc new-build -D - --name mavenappCopy to Clipboard Copied! Toggle word wrap Toggle overflow WAR를 빌드할 Jenkins 파이프라인으로 BuildConfig를 생성한 다음 해당 WAR를 사용하여 이전에 생성한
Dockerfile을 사용하여 이미지를 빌드합니다. 바이너리 아티팩트가 도구 집합에 의해 빌드된 다른 플랫폼에 동일한 패턴을 사용할 수 있으며 최종 패키지의 다른 런타임 이미지와 결합됩니다.mavenapp-pipeline.yml에 다음 코드를 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파이프라인 빌드를 생성합니다. Jenkins가 프로젝트에 배포되지 않으면 파이프라인을 사용하여 BuildConfig를 생성하면 Jenkins가 배포됩니다. Jenkins가 파이프라인을 빌드할 준비가 되기까지 몇 분이 걸릴 수 있습니다.
oc rollout status dc/jenkins를 호출하여 Jenkins 롤아웃의 상태를 확인할 수 있습니다.oc create -f ./mavenapp-pipeline.yml
$ oc create -f ./mavenapp-pipeline.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Jenkins가 준비되면 이전에 정의된 파이프라인을 시작합니다.
oc start-build mavenapp-pipeline
$ oc start-build mavenapp-pipelineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파이프라인 빌드가 완료되면 new-app을 사용하여 새 애플리케이션을 배포하고 경로를 노출합니다.
oc new-app mavenapp oc expose svc/mavenapp
$ oc new-app mavenapp $ oc expose svc/mavenappCopy to Clipboard Copied! Toggle word wrap Toggle overflow 브라우저를 사용하여 애플리케이션의 경로로 이동합니다.
oc get route mavenapp
$ oc get route mavenappCopy to Clipboard Copied! Toggle word wrap Toggle overflow