[기타] OpenShift Jenkins Pipeline
[ Jenkins Pipeline 구성 ]
[disConnected 환경]
dockerbuild로 xxxx.hpi파일을 플러그인 설치 위치에 ADD하여 이미지 생성(run 파일은 jenkins 이미지에서 추출)
# vi Dockerfile FROM registry.access.redhat.com/openshift3/jenkins-2-rhel7 COPY ansible-tower.hpi /tmp/plugins/ COPY run /usr/libexec/s2i/ # vi run ~ 중략 ~ if [ "$(ls -A /opt/openshift/plugins 2>/dev/null)" ]; then mkdir -p ${JENKINS_HOME}/plugins echo "Copying $(ls /opt/openshift/plugins | wc -l) Jenkins plugins to ${JENKINS_HOME} ..." cp -r /opt/openshift/plugins/* ${JENKINS_HOME}/plugins/ rm -rf /opt/openshift/plugins fi ## timegate plugin echo "#### Additional Plugins Copy #####" cp -r /tmp/plugins/* ${JENKINS_HOME}/plugins/ ~ 중략 ~ |
1) 파이프라인 구성
Checkout : Github 또는 Gogs의 형상관리 툴에서 소스 체크아웃
Build Package : 소스 maven 빌드 (maven 빌드를 위해선 외부 maven repo또는 로컬에 구성된 repo가 반드시 필요)
빌드 완료된 Archive 파일은 Nexus로 업로드
Build in DEV Env : DEV 프로젝트에서 소스 빌드
Deploy&Verify in DEV Env : 디플로이 및 서비스 검증
Build in STG Env : STG 프로젝트에서 소스 빌드
Promote in STG Env : STG 배포 전 관리자 승인하에 배포하기 위해 설정
Deploy&Verify in STG Env : 디플로이 및 서비스 검증
2) jenkins buildConfig (파일 첨부)