Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Dockerfile 및 ga ci workflow 작성 #143

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

zxcev
Copy link
Collaborator

@zxcev zxcev commented Sep 4, 2024

💡 다음 이슈를 해결했어요.

image

github action ci workflow를 위와 같이 작성하였습니다.

과정을 간략하게 설명하면 다음과 같습니다.

우선 아래 workflow는 PR을 올릴 때 trigger 됩니다.

1. cfg

  • 환경 변수 등 초기 설정

2. build and upload artifact

  • jar 형식의 artifact를 build하고 임시로 upload합니다.(github action에서 제공하는 기능)

3. trigger-provision-test-infra

  • e2e test 시에 필요한 infra를 infra repo에 workflow trigger 요청합니다.
  • 끝나면 test가 시작됩니다.

4. unit-test, integration-test, e2e-test

  • 테스트 job들을 병렬로 실행합니다.
  • 실패하는 테스트들이 있어서 pipeline 통과를 위해 우선은 실제 테스트 실행은 안 하고 나중에 고쳐지면 적용해야 할 듯 합니다.

5. containerization, trigger-destroy-test-infra

테스트 성공 후 단계에서 이전에 upload 한 artifact를 download 하여 docker image를 build 및 dockerhub에 push 합니다.

테스트를 마쳤으므로 test infra도 destroy 요청을 infra repo에 보냅니다.

여기까지가 CI workflow 이고,

이후 docker image가 push 되면 infra repo에서 provision을 수동으로 trigger 하면 CD 과정이 진행됩니다.


아래는 개인 레포에 만든 Github Action 환경 변수, 시크릿입니다.

ludo repo에도 추후 dockerhub 계정을 만들어서 반영해야 합니다.

image image



✅ 셀프 체크리스트

  • 브랜치 전략에 맞는 브랜치에 PR을 올리고 있습니다. (master/main이 아닙니다.)
  • 커밋 메세지를 컨벤션에 맞추었습니다.
  • 변경 후 코드는 컴파일러/브라우저 warning/error 가 발생시키지 않습니다.
  • 변경 후 코드는 기존의 테스트를 통과합니다.
  • 테스트 추가가 필요한지 검토해보았고, 필요한 경우 테스트를 추가했습니다.
  • docs 수정이 필요한지 검토해보았고, 필요한 경우 docs를 수정했습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant