Table of Contents |
---|
Info |
---|
각자가 선호하는 개발 업무환경 및 도구가 존재한다. 다음은 가이드는 기본적으로 터미널을 기반으로 제공된다. 따라서 전체 업무 프로세스에 대해 참고하여 각자의 상황에 맞도록 활용하도록 한다. |
Overview
Remote Branch 현황
구분 | 용도 | 비고 | |
Remote | master또는main | TEST 및PROD 환경에 배포 가능한 상태로 관리되는 브랜치 | dev 브랜치로부터의 PullRequest를 통해서만 변경 가능 |
Remote | dev | 개발자가 로컬환경에서 구현한 기능을 반영하여DEV 환경에서 검증하기 위한 브랜치 | mater 브랜치의 코드 변경을위해 활용 |
Local | master또는 main | Remote master브랜치로부터 clone한 로컬의master브랜치 | 최초 소스 변경 작업 전Remote로부터 동기화 수행필요 |
Local | dev | 개발자가 로컬환경에서 기능을 구현하는용도로 사용되는 임시 브랜치 | 최초 소스 변경 작업 전Remote로부터 동기화 수행필요 |
개발자 작업
소스 가져오기
리모트 Azure Repos 화면에서 Clone을 선택한다.
...
Code Block |
---|
youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (main) $ git branch * main youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (main) $ git branch -a * main remotes/origin/HEAD -> origin/main remotes/origin/dev remotes/origin/main youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (main) $ |
소스 수정하여 푸시하기
소스 수정에 앞서 다음 명령을 수행하여 로컬에 최신화된 dev 브랜치를 생성한다.
...
Code Block |
---|
youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (dev) $ git add . youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (dev) $ git commit -m "Update Application.java" [dev d18f0c8] Update Application.java 1 file changed, 1 insertion(+), 1 deletion(-) youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (dev) $ git push Enumerating objects: 13, done. Counting objects: 100% (13/13), done. Delta compression using up to 8 threads Compressing objects: 100% (5/5), done. Writing objects: 100% (7/7), 540 bytes | 90.00 KiB/s, done. Total 7 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Analyzing objects... (7/7) (7 ms) remote: Storing packfile... done (60 ms) remote: Storing index... done (53 ms) To https://dev.azure.com/zerobig-devops4demo/AKSAppModDemo/_git/ZerobigAppModDemo ac5dd9a..d18f0c8 dev -> dev youngdae.kim@youngdae_kim MINGW64 ~/ZerobigAppModDemo (dev) $ |
Azure CI/CD 파이프라인 실행 결과 모니터링
자동으로 CI 파이프라인이 트리거 되어 실행된다.
...
이상이 없다면 파이프라인 실행결과는 다음과 같다.
DEV 환경 배포 결과 확인
현재 시점에서 TEST 환경의 AKS 클러스터에는 변경된 코드 결과가 반영되어야 한다.
Pull Request 수행 (dev → main)
요청자 작업
이제 dev와 main 브랜치의 코드 내용이 상이하므로 Azure Repos 화면으로 이동하면 다음과 같이 Create a pull request 수행 유도 메시지가 전시된다.
...
4) 사전 지정/협의된 검토자를 등록한다,
5) Create를 눌러 요청을 생성한다.
승인자/검토자 작업
PR 요청을 수신한 승인자 또는 검토자는 다음 화면으로 이동하게 된다.
...
이때 선택가능한 PR 옵션은 다음과 같다.
Azure CI/CD 파이프라인 실행 결과 모니터링
자동으로 CI 파이프라인이 트리거 되어 실행된다.
...
곧 자동으로 CD 파이프라인이 트리거 되어 실행된다.
TEST 환경 배포 결과 확인
TEST 환경에 배포가 이루어졌다, View logs를 선택하여 배포 로그를 확인하고 TEST 환경에 대한 동작 검증을 시행한다.
...
이제 PROD 환경에 배포 승인 대기 상태가 된다.
PROD 환경 배포
TEST 환경에 대한 동작 검증이 완료되었으므로 특별한 내용이 없다면 승인을 진행한다.
최종 PROD에 배포가 이루어졌다,
PR 완료 이후 소스 비교 및 로컬 소스 최신화 확인 방법
PR 승인/완료 이후 main 브랜치의 커밋 이력을 확인하면 다음과 같다,
...