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

[Chore] Naver Cloud 자동배포 action 추가 #6

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Cass07
Copy link
Collaborator

@Cass07 Cass07 commented Dec 15, 2024

작업 내역 개요

Github Action을 통해, 빌드 파일을 서버에 업로드해서 자동으로 실행하는 액션을 추가

  • 프로젝트를 빌드할 때, Github Action을 통해, yaml 파일에 실제 환경변수를 주입
  • 프로젝트를 jar 파일로 빌드한 후, 이를 Object Storage에 업로드
  • 업로드한 Object Storage의 파일을 통해, SourceDeploy를 사용하여 배포할 수 있도록 배포 프로젝트와 시나리오를 콘솔에서 추가
  • Naver Cloud API를 사용해, 배포 시나리오의 배포 트리거링을 Github Action을 통해 수행
    • Naver Cloud API 호출 시 매 request마다 secret을 사용한 signature를 필요로 하기 때문에, 추후 다른 서비스의 API를 호출할 필요가 있을때 중복된 코드를 사용할 필요가 없도록 Github Action을 생성하여 이를 호출
    • navercloud-api
  • 개발 기록

의문사항

  • 모든 feature 브랜치의 코드는 PR시 테스트 과정을 마치고 나서 main branch에 merge되는데, 그렇다면 main 브랜치의 배포를 진행할 때, 굳이 다시 한 번 test를 진행해야 할 필요가 있는가?
    • 진행하는 것이 맞는 것으로 보이는데, 만약 테스트의 코스트가 크다면 생략하는 것도 도움이 되지 않을까 생각됩니다

Object Storage API를 사용해 빌드 파일을 압축한 객체의 업로드 액션 테스트
Push될 시 upload 액션을 실행하도록 변경
Test에 실패해서 빌드에 실패하지 않도록, test 환경변수도 정상적으로 갱신하도록 변경
Naver Cloud API를 사용해서, Github action을 통해 SourceDeploy의 배포 트리거링
- navercloud-api 액션으 생성해서 이를 통해 naver cloud api request를 전송
- 테스트 용으로 설정했던 Github Action 실행 조건을, main branch push로 변경
Copy link

Jacoco Test Coverage Report

Overall Project 96.16% 🍏

There is no coverage information present for the Files changed

Copy link
Collaborator

@f-lab-jd f-lab-jd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 멘토링 시간에 어떤 step인지 한번 설명 부탁드립니다.
그리고 의문사항도 충분히 공감이 되는 내용이고, 그래서 실제로 main 브랜치에서는 gradle 빌드 옵션으로 테스트를 수행하지 않는 경우도 있습니다.

하지만 이 경우에는 main 브랜치로 바로 push 하는일을 아주아주 엄격하게 금지하는 경우에만 가능합니다 ㅎㅎ

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.

2 participants