CI CD 진행하기 - CodeSoom/DDD-Kurly-Clone-Order GitHub Wiki
코드 통합
-
CodeSoom/DDD-Kurly-Clone-OrderRepository의main브랜치에pull_request를 생성하면 Repository의 Actions 탭에서 커밋 메시지를 이름으로 하는 workflow가 실행되고 있는 것을 확인할 수 있다.
-
해당 workflow에서는
ci.yaml에 설정했던buildjob이 실행되는 것을 UI로 확인할 수 있다.
애플리케이션 배포
-
애플리케이션 배포는 Github의
Releases기능을 활용한다.
-
위 화면에서
Releases를 클릭하면 새로운 Release를 생성할 수 있는 버튼을 클릭해 이를 생성할 수 있다.
-
그 버튼을 클릭하면 다음과 같은 화면을 볼 수 있다. 여기서
Release title을 입력하고 release할tag를 선택해주면 release를 위한 준비는 끝난다. 그리고 상세 설명을 Description에 적어주면 된다.- 이 때, 주의할 점은 최신 커밋버전을 릴리즈하고 싶다면 새로운 태그를 생성하면 된다. 다른 태그를 선택해서 릴리즈한다면 프로젝트 코드가 그 태그 버전의 코드로 돌아가게 된다.
- 그리고
This is a pre-release를 선택하게 되면 Release가published는 되지만 아직released된 상태는 아니기에 CD workflow는 동작하지 않는다.

-
Publish release버튼을 클릭하고 다시 Actions 탭으로 가보면Kurly Clone Order CDworkflow가 동작하고 있는 것을 확인할 수 있으며 각 workflow는Release title의 이름을 따른다.
-
진행중인 workflow를 클릭해보면
uploadjob이후에deployjob이 실행되는 것을 확인할 수 있다.
로컬 개발환경을 위한 Docker Compose
로컬 개발환경을 편하게 설정할 수 있도록 Docker Compose 또한 사용해보았다. Deploy만을 위한 Repository가 따로 없는 관계로 CI/CD 과정에서는 아직 사용하고 있지 않지만 컨테이너를 여러개 사용한다면 각 컨테이너를 더 편리하게 다룰 수 있기에 추가해보았다.
사용법은 간단하다. 그냥 프로젝트의 최상단 디렉토리(docker-compose.yaml 파일이 위치한 곳)에서 다음 명령어를 입력하면 backend 컨테이너가 실행된다. 그 후에 [localhost:8080](http://localhost:8080) 으로 애플리케이션에 접근할 수도 있다.
$ docker-compose up
# 만약 데몬(백그라운드 프로세스)로 컨테이너를 실행하고 싶다면
$ docker-compose up -d
컨테이너를 종료하려면 다음 명령어를 입력하면 된다.
$ docker-compose down