개발자

스타트업에서의 깃허브 배포

2024년 02월 16일조회 183

안녕하세요. 현재 스타트업에서 근무한지 2년이 되었습니다. 아이템의 첫 개발부터 지금까지 혼자 개발을 하다 보니 깃허브를 잘 사용을 하지 않았습니다. (푸시, 풀 이런 거만 함) 그러다 협업을 하게 되었는데, 스타트업 특성상 자주 배포를 하고 급한 일이 있을 때도 바로바로 배포를 하다 보니 한 번씩 에러도 보이고 그럴 때마다 개발 쪽이 잘못한 느낌이 많이 듭니다.. 테스트 서버도 있어서 테스트 서버에 올리고 배포를 해도, 테스트를 할 수 있는 기간은 단 하루 정도 밖에 없습니다.(한다 해도 몇 시간) 빠른 반영을 원하십니다 다른 부서 상사님이 같이 협업하는 사람의 코드를 계속해서 전부 검토하라고 하시는데 개발해야 하는 양도 많고, 협업하시는 분의 코드도 봐야 하고 자꾸 집중이 분산이 되고 막상 제가 할 수 있는 작업시간이 적어지니 스트레스가 있습니다. 어떻게 하면 깃허브를 효율적으로 잘 사용할 수 있을까요?? 첫 직장이 스타트업이고 제가 혼자서 독학하면서 하다 보니 경험이 부족합니다. 다른 기업에서는 어떻게 협업을 하고 있거나, 깃을 어떻게 사용하는지에 대해 좋은 정보 알려주시면 감사하겠습니다. 여러 조언도 너무 감사하겠습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

다형님의 프로필 사진

고민하시는 문제는 사실 git을 사용하는 문제 자체보다는 업무 플로우가 정리되지 않아서 생기는 문제로 보입니다. 어차피 지금 상황에 배포되는 버전에서도 에러가 나오고 있는 상황이신 것 같은데, '오류나 장애 건수를 줄일테니 테스트 기간을 늘려달라'고 요청 드리는 것이 어떨까요? 개발까지 하고 계시면서 여기에 다른 사람 코드 검수까지 맡는다면 개발하고 계신 부분도 제대로 처리하기 어려울 것 같습니다. 다른 부서 상사 분의 지시라면 더더욱 직접 지시받지 말고 본인 부서의 상급자 분께 해당 부분을 핸들링 해달라고 요청해보시는 것이 나을 것 같아요. 협업 하시는 분의 코드를 왜 보라고 지시가 내려오는지 사유를 먼저 파악해보시고 그 원인을 제거하면 부담을 조금 덜어내실 수도 있지 않을까 싶네요. 이외에 검수의 자동화는 정적 분석 툴(sonar qube 등)을 도입하면 기본적인 오류나 컨벤션 등을 검수하는 시간을 줄일 수 있습니다. git을 어떻게 사용하느냐는 배포하시는 방식에 따라 달라질 수 있습니다. 아예 브랜치 분리가 안되있는 경우, release 브랜치를 기준으로 배포하시고 해당 release가 안정적인 버전이라 판단되면 master(혹은 main) 브랜치에 merge를 하시는 정도로는 브랜치를 나누어야 할 것 같습니다. 문제 발생 시 원복할 브랜치를 만들어 둔다고 이해하시면 편할 것 같구요. 더 자세한 해결이 필요하시면 DM을 주셔도 괜찮습니다. 아무쪼록 험난한 시간을 보내고 계신 것 같은데, 잘 이겨내시면 좋겠습니다!

profile picture

익명

작성자

2024년 02월 18일

감사합니다.

이상선님의 프로필 사진

깃의 목적이 뭔지 생각해 보세요. 누가 왜 만들었는지

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 02월 16일

Git의 목적은 협업을 용이하게 하는 것이며, 그 과정에서 코드의 품질과 개발 프로세스를 보장하기 위한 다양한 기능들을 가지고 있습니다. 여기서 제시할 수 있는 주요 깃(Git) 사용법 및 최적의 workflow는 아래와 같습니다: 1. **브랜치 전략(Branch Strategy)**: 여러 사람이 동시에 작업하면서도 코드가 충돌하지 않게 해주는 Git의 핵심 기능 중 하나입니다. master 브랜치를 부모 브랜치로 하여 'feature/issue번호'와 같은 방식으로 자식 브랜치를 생성하고, 각자 작업합니다. 모든 작업이 완료되면 병합(Merge)을 합니다. 2. **Pull Request**: 코드 변경 사항을 브랜치에 푸시 한 후, 해당 변경사항을 master(혹은 develop) 브랜치에 병합하기 위해 Pull Request(PR)를 생성합니다. PR 시점에서 코드 리뷰가 이루어지며, 팀원들이나 리더가 변경된 코드를 검토하여 문제가 없음을 확인하고 병합을 승인합니다. 3. **Code Review**: 위에서 언급한대로 Pull Request 과정에서 이루어집니다. 이렇게 함으로써 모든 코드가 적어도 두 명 이상의 개발자에 의해 검토되며, 의도치 않은 버그 방지와 코드 품질을 보장할 수 있습니다. 4. **Continuous Integration / Continuous Deployment (CI/CD)**: 자동화된 테스트와 배포를 가능하게 하는 도구 및 프로세스입니다. 코드를 push 할 때마다 자동으로 테스트를 실행하고, 성공적으로 테스트가 완료되면 자동으로 배포됩니다. 이러한 방식을 따르면, 충제할 가능성을 줄이고 코드의 안정성을 보장할 수 있습니다. 하지만 이 과정은 추가적인 시간과 노력이 필요합니다. 기업의 상황과 우선순위에 따라 적용해야 합니다. 각 작업에 대한 책임 분산이나 관리 문제는 좋은 프로젝트 관리 도구(Trello, Jira 등)를 사용하여 해결할 수 있습니다. 이전에 언급한 것처럼 개발자 한 사람이 모든 작업을 담당하는 것보다는 역할과 책임을 분산시키는 것이 효율적일 수 있습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!