Language/SAP

SCP CI/CD 전략

류수부쟁선 2021. 12. 21. 18:14

  • SCP 환경에서 적용 가능한 CI/CD 전략은 총 4가지 (strike 항목은 제약 사항 발생으로 사용하지 않음)
  • DEV 환경에서는 jenkins만 을 이용하여 CI/CD 진행
  • PRD 환경은 CI 는 jenkins, CD 는 TM 이용
  • 운영 배포 방안은 배포 환경, 테넌트 구분 없이 패키징 가능한 경우를 가정함 (spring.profiles.active 는 배포 환경, 노드에 따라 적용 가능)

 

  1. 개발 배포 방안


    1. 개발자는 스크럼별 브랜치에 작업 후 DEV 브랜치에 PR생성
    2. 스크럼 마스터(혹은 스크럼 개발리더) 리뷰 후 PR 승인
    3. 주기적인 빌드(cron) 유발로 jenkins  job 구동 ( 09, 12, 18 시 일 3회)
    4. job pipeline  :  빌드 - 테스트 - 정적 코드 분석 - CF 배포



  2. 운영 배포 방안 1st (QA, master branch)


    1. WIRE-CODE - 담당자는 검증 된 develop 브랜치를 QA 브랜치로 Merge
    2. JENKINS - job 실행
           job pipeline  :  prepare > build > upload to TM Instance
    3. TM - QA Node에 Entry된 Artifact 확인
    4. TM - Import 실행 및 status 확인
    5. WIRE-CODE - QA 종료 후 QA 브랜치를 master 브랜치로 Merge
    6.  JENKINS - job 실행
           job pipeline  :  prepare > build > upload to TM Instance
    7. TM - master Node에 Entry된 Artifact 확인
    8. TM - Import 실행 및 status 확인
    9. TM - 서비스 정상 기동 확인 후 Forward 실행
    10. TM - 각 테넌트 Node에 Entry된 Artifact 확인
    11. TM - Import 실행 및 status 확인




  3. 운영 배포 방안 2nd (QA branch)

    1. WIRE-CODE - 담당자는 검증 된 develop 브랜치를 QA 브랜치로 Merge
    2. JENKINS - job 실행
           job pipeline  :  prepare > build > upload to TM Instance
    3. TM - QA Node에 Entry된 Artifact 확인
    4. TM - Import 실행 및 status 확인
    5. TM - QA 종료 후 Forward 실행
    6. TM - 각 테넌트 Node에 Entry된 Artifact 확인
    7. TM - Import 실행 및 status 확인




  4. 운영 배포 최종안

    '운영 배포 방안 1st' 와 차이점은 QA 브랜치 의 CD 주체는 TM 이 아닌  jenkins

    1. WIRE-CODE - 담당자는 검증 된 develop 브랜치를 QA 브랜치로 Merge
    2. JENKINS - job 실행
          job pipeline  :  prepare > build > deploy
    3. WIRE-CODE - QA 종료 후 QA 브랜치를 master 브랜치로 Merge
    4. JENKINS - job 실행
           job pipeline  :  prepare > build > upload to TM Instance
    5. TM - master Node에 Entry된 Artifact 확인
    6. TM - Import 실행 및 status 확인
    7. TM - 서비스 정상 기동 확인 후 Forward 실행
    8. TM - 각 테넌트 Node에 Entry된 Artifact 확인
    9. TM - Import 실행 및 status 확인
       
  1.