Skip to content

Commit

Permalink
feat: add ci/cd guide
Browse files Browse the repository at this point in the history
  • Loading branch information
dotoleeoak committed Jun 6, 2024
1 parent 3897ba6 commit e63d5d9
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,16 @@ export default defineConfig({
]
},

{
text: 'Infra',
items: [
{
text: 'CI/CD (GitHub Actions)',
link: '/dev/infra/ci-cd'
}
]
},

{
text: 'Tools',
items: [
Expand Down
39 changes: 39 additions & 0 deletions dev/infra/ci-cd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# CI/CD (GitHub Actions)

CI/CD란 코드를 작성하는 순간부터 서비스에 배포되기까지의 연결된 과정을 말해요.
조금 더 자세한 의미는 아래와 같아요.

- **CI(Continuous Integration)**: 개발자가 작성한 코드를 main 브랜치에 문제 없이 합치도록 돕는 과정을 말해요. Linting이나 formatting, 또는 다양한 testing 등이 해당돼요.
- **CD(Continuous Delivery)**: main 브랜치의 코드를 실제 서비스에 배포하는 과정을 말해요.

조금 더 자세한 설명을 원한다면, 이 [YouTube 영상](https://youtu.be/42UP1fxi2SY)을 확인해보세요!

## Pipeline 구성

코드당의 CI/CD pipeline은 GitHub Actions를 사용해요.
아래 그림처럼 CI, CD(Staging, Production)로 크게 세 개로 이루어져있어요.

<iframe style="border: 1px solid rgba(0, 0, 0, 0.1);" width="100%" height="640" src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Fboard%2FT1jlv1pCWwMlMkoritgQVj%2FCodedang-CI%252FCD%3Fnode-id%3D0-1%26t%3DmNYW9T9BVQ94gm4o-1" allowfullscreen></iframe>

- **CI**: Pull Request를 생성하거나 `main` branch에 push했을 때 실행돼요. Linting, formatting, testing 등 여러 과정을 통해 코드가 main branch에 합쳐져도 괜찮은지 검사해요.
- **CD (Staging)**: `main` branch에 push했을 때 실행돼요. 코드를 스테이징 환경에 배포해요.
- **CD (Production)**: 직접 클릭해서 동작시켰을 때 실행돼요. 스테이징 환경의 코드를 실제 서비스에 배포해도 괜찮겠다고 판단하면, 이 pipeline을 실행해서 프로덕션 환경에 배포해요.

> [!INFO]
> 스테이징 환경과 프로덕션 환경의 차이가 궁금하다면 ['Stage Server' 글을 확인해보세요!](/dev/project/stage-server)
## CI

> TODO: 설명 추가 예정
## CD (Staging)

> TODO: 설명 추가 예정
## CD (Production)

> TODO: 설명 추가 예정
## More pipelines

> TODO: 설명 추가 예정

0 comments on commit e63d5d9

Please sign in to comment.