cloud-barista / cloud-migrator

Apache License 2.0
1 stars 2 forks source link

Plan for applying CI/CD workflow to Cloud-Migrator subsystem #8

Closed yunkon-kim closed 2 months ago

yunkon-kim commented 2 months ago

Plan for applying CI/CD workflow to Cloud-Migrator subsystems

Cloud-Migrator 서브시스템에 CI/CD 워크플로우 자동화 적용 계획을 공유드립니다.

개요

추진 현황

추진 일정

1. 서브시스템 빌드 관련 개선

2. 각 서브시스템에 CI/CD 워크플로우 PR 생성, 리뷰 및 머지

3. 서브시스템의 컨테이너 이미지가 저장소의 Packages에 노출되도록 설정

서브시스템/저장소 현황

Repo. Source code build method Dockerfile exists Note
CM-Honeybee Makefile (Agent용, Server용 각각 존재) Agent용, Server용 각각 존재 Agent 와 Server는 물리적으로 구분됨
CB-Tumblebug Makefile o -
CB-Spider Makefile o -
CM-Beetle Makefile o -
CM-Grasshopper Makefile o -
CM-Damselfly x x -
CM-Cicada Makefile x -
CM-Ant Makefile o
CM-Mayfly ? Makefile o (but, live 문서에 관련 없음 기재됨) -
CM-Butterfly ? Makefile o -

CI/CD 워크플로우 요약 설명

CI 워크플로우

Note - Continuous Integration (CI) 워크플로우

PR이 올라왔을 때, 코드 통합을 위한 테스트를 수행합니다. 현재는 빌드 테스트를 수행하고 있습니다. 필요시 다른 테스트를 추가하실 수 있습니다.

(click to see CM-Beetle CI workflow)

[CI 워크플로우 요약 설명] : main 브랜치를 대상으로 Pull request 가 생성되었을 때 동작 : Build 테스트 수행

: 서브시스템에서 필요한 테스트들을 추가하실 수 있습니다.

CD 워크플로우

Note - Continuous Delivery (CD) 워크플로우

주로 PR이 머지 되었을 때 또는 Tag를 찍었을 때, 컨테이너 이미지를 빌드하여 Docker Hub 와 GitHub Contaienr Registry에 Publish (Delivery)를 수행하고 있습니다. 필요시 수정 및 다른 Job (task)을 추가하시기 바랍니다.

(click to see CM-Beetle CD workflow)

[CD 워크플로우 요약 설명] : main 브랜치에 push가 되었을 때 (즉, merged 되었을 때, 또는 메인테이너가 직권 Push 했을 때) : 컨테이너 이미지 태그 설정 (Docker Hub 및 GitHub Container Registry (GHCR)) : 각 Registry (Docker Hub 및 GitHub Container Registry (GHCR)) 로그인 : 컨테이너 이미지 빌드 및 Publish

컨테이너 이미지의 Tag와 관련해서는 다음을 참고하시기 바랍니다.

  1. main 브랜치에 PR이 머지되었을 때: 컨테이너 이미지에 edge 태그 부여
  2. main 브랜치에 tag를 부여했을 때(주로, 릴리스 시):
    • 컨테이너 이미지에 0.1.3와 같은 Sementic Versioning (semver) 태그 부여
    • 또한, 최신의 semver 태그 이미지에 lastest 태그 부여 (안정화된/검증된 최신의 이미지를 제공 차원)
yunkon-kim commented 2 months ago

각 저장소에 CI/CD 워크플로우 추가 또는 개선을 위한 PR을 올려 놓았습니다.

검토 진행해 주시기 바라며, 이슈가 없을 시 Merge 진행하시면 되겠습니다.

문의 사항 또는 워크플로우 관련 이슈가 있으시면 해당 PR에 @yunkon-kim 를 mention해 주십시오 ^^

yunkon-kim commented 2 months ago

Cloud-Migrator 서브시스템에 CI/CD 워크플로우 적용 작업이 완료되었습니다 :tada:

서브시스템 메인테이너 및 기여자 분들께 감사 말씀드립니다!