배포

TobeDevOps에서는 프로젝트의 자동 배포를 위해 ArgoCD를 사용합니다.

Gitlab의 소스 형상 관리와 빌드가 성공적으로 진행되면 GitOps에서 변경된 이미지를 체크하고 쿠버네티스를 통해 새로운 pod가 생성되어 서비스 배포가 완료됩니다.

포탈에서는 선택된 컨테이너의 App의 현재 Sync 상태와 App의 6가지 Health(동작 상태)을 확인할 수 있으며 수동 배포를 진행할 수도 있습니다.

Synced to HEAD(*)

Git Ops에 존재하는 이미지 HEAD 정보에 Sync 상태

OutOfSync to HEAD(*)

Git Ops에 존재하는 이미지 HEAD 정보에 Sync 되지 않은 상태

Healthy

App 정상 동작

Progressing

App 생성 중

Degraded

App 동작 오류

Suspended

App 생성 대기

Missing

App 정보 유실

Unknown

App 정보 알 수 없음

배포 조회

내가 포함된 프로젝트 카드를 확인하고 카드를 선택하여 현재 배포 상태를 확인합니다.

1

[배포] 메뉴를 선택하여 사용자가 포함된 프로젝트 카드 목록을 확인합니다.

2

화면 상단에 프로젝트 구분 탭을 사용하여 상태 별 프로젝트 목록을 확인할 수 있으며 기본 상태 값은 [Running]입니다. [All] 탭 선택 시 전체 프로젝트 목록을 확인할 수 있습니다.

이미지_2024-07-30_103449904

3

내가 포함된 프로젝트가 카드 형태로 나타나며 각 프로젝트에 생성된 서버 클릭 시 배포 내역을 확인할 수 있습니다.

4

프로젝트 카드의 서버를 선택하면 하단에 배포 환경(DEV, STG, PRD)별 배포 목록이 노출되며 포털에서 수동 Sync할 수 있습니다.

이미지_2024-07-30_103654557

이미지_2024-07-30_103949665

이미지_2024-07-30_104017457

이미지_2024-07-30_104047185

이미지_2024-07-30_104116476

배포 내역은 최근 2건의 목록이 나타나며 [Redeploy] 버튼을 클릭하여 최종 버전의 GitOps 이미지로 재배포하거나 [RollBack] 버튼을 클릭하여 이전 버전의 이미지로 배포 상태를 되돌릴 수 있습니다. [MORE] 버튼은 ArgoDC로 이동하여 선택된 서버 환경의 전체 배포 내역을 확인할 수 있습니다.

DEV App은 자동으로 자동 배포가 설정되어 있기 때문에 배포된 내역만 확인할 수 있으며 이미지 재배포 및 이전 배포 상태로 변경할 수 없습니다.

이미지_2024-07-30_104226586

배포 관리

TobeDevOps에서 프로젝트에 생성된 서버는 구분에 따라 권한 별 사용할 수 있는 배포 기능이 달라집니다.

프로젝트 관리자는 DB를 제외한 모든 서버의 배포 기능을 사용할 수 있으며 프로젝트 멤버는 개발 환경의 배포 기능만 사용할 수 있습니다.

서버 구분

배포 환경

기능

프로젝트 관리자

프로젝트 멤버

게스트

WEB, WAS, XENI

운영

Sync

O

X

X

History

O

X

X

Rollback

O

X

X

Redeploy

O

X

X

검증

Sync

O

X

X

History

O

X

X

Rollback

O

X

X

Redeploy

O

X

X

개발

Sync

O

O

X

History

O

O

X

DB

운영

Sync

X

X

X

개발

Sync

X

X

X

DB는 개발과 운영 두 개의 배포 환경만 생성되며 생성 후 이미지 정보가 변경되지 않아 버전 관리를 하지 않습니다.