GitLab 기반의 워크플로우 실습 교육

GitLab 기반 시스템을 이용한 개발 업무를 이해하고 실습하기 위한 교육이다.

1. 교육생 준비사항

  1. 노트북 인터넷 연결
    • 네트워크 환경이 불안정한 경우가 있으니 스마트폰의 Wi-Fi 핫스팟(테더링) 권장
  2. gitlab.gaeasoft.co.kr 로그인
    • 계정이 없으신 분은 계정 등록 이메일 발송되었으니 패스워드 재설정하고 로그인 하시면 됩니다.
  3. 실습에 필요한 도구 설치
    • 설치파일은 USB 메모리가 준비되어 있으니 USB를 받아가셔서 실습에 필요한 도구를 설치해 주세요.
    • 준비된 설치파일은 윈도우즈 64비트 기준입니다. 다른 환경인 경우는 아래 URL에서 다운받아서 설치해 주세요.
    • 설치순서는 다음과 같습니다.
      1. git-client
      2. sourcetree
      3. markdownpad2
    • 도구 목록
      • Git 클라이언트 : https://git-for-windows.github.io/
      • SourceTree : http://www.sourcetreeapp.com/
      • MarkdownPad : http://markdownpad.com/download.html

2. 실습 목차

  1. Git 개념 설명
  2. GitLab 환경 구성
    • GitLab 계정 등록 및 설정
      • 계정 신청
      • Profile Setting - Avatar 설정
      • Notifications
      • Preferences
    • Git 클라이언트 설치 및 SSH Key 생성
    • GitLab에 SSH key 등록
    • SourceTree 설치 및 설정
    • 마크다운 시작하기
      • 간단한 마크다운 문법
      • MarkdownPad 설치 및 설정
      • GitLab Wiki에서 사용해 보기
  3. GitLab 워크플로우 실습
    • Add Group
      • group-demo-{username}
    • Add Members & Group Access
      • Add Members by Group Access
    • New Project
      • project-demo-{username}
    • Add README.md
    • Clone Git Repository
      • SourceTree에서 Clone Repository
    • New Label
      • generate default set of labels
    • New Milestone
      • 실습용 마일스톤
    • New Issue
      • README.md 파일 수정
      • profile.md 파일 추가
      • profile.md 버그 Fix
    • issue #1. README.md 파일 수정
      • README.md 열어서 내용 수정
      • Commit Message "closed #1, README.md 파일 수정"
      • Push
      • GitLab에서 확인
      • New Tag : 1.0.0
    • issue #2. profile.md 파일 추가
      • Pull master branch
      • New Branch : feature/profile
      • profile.md 파일 생성하고 내용 작성
      • Commit Message "closed #2, profile.md 파일 추가"
      • Push
      • GitLab에서 Merge Request 등록
      • GitLab에서 Merge Request 코드리뷰 및 승인
      • Merge 확인
    • issue #3. README.md 버그 Fix
      • Pull master branch
      • New Branch : hotfix/1.0.0
      • profile.md 열어서 내용 수정
      • Commit Message "closed #3, README.md 버그 Fixed"
      • Push
      • GitLab에서 Merge Request 등록
      • GitLab에서 Merge Request 코드리뷰 및 승인
      • Merge 확인
      • New Tag : 1.0.1
  4. Git Branch 전략
  5. 과제
    • 연말에 적용 사례 발표

3. 준비 사항

  1. 회의실 Wi-Fi 체크
    • 타이타닉 회의실 Wi-Fi (DIO_CR_E1 / diocean123)
  2. 참석자 출석 체크
    • [x] 이현진 주임
    • [x] 이창구 과장
    • [x] 박종남 부장
    • [ ] 최안식 과장
    • [x] 민경근 차장
    • [x] 전상진 과장
    • [x] 이영제 과장
    • [x] 김종현 차장
  3. 참석자 GitLab 계정 발급
    • 이창구 (완료)
    • 박종남 (완료)
    • 민경근 (완료)
    • 전상진 (완료)

4. 피드백

따로 이렇게 모아서 교육하는 것 자체가 매우 힘든 일인데 귀한 시간 내셔서 준비 해 주신 점에 대해 감사말씀 드리고 싶습니다.
실습 교육을 하면서 느낀 점은 gitlab을 사용해서 소스 관리를 하더라도 결국 commit을 하는 개발자들이 commit 메시지를 남길 때
어느 정도의 기본 규칙을 정해서 통일성 있게 작성하지 않는다면 제대로 유지하기가 어려울 것 같다는 생각이 들었습니다.
이슈 트래킹 기능도 사용자가 열심히 사용해야 그 의미가 있다고 생각도 들었고요.
그래서 앞으로 어떤 것을 개발하더라도 그런 기본적인 것들에 대해 중요하게 생각 하고 실천하는 개발자가 되어야겠다는 생각이 들었습니다.
빠른 시간에 Git에 대한 사용법을 익힐 수 있는
교육을 받게 되어 좋았습니다.

SVN과 Git의 차이점을 통한 설명은 Git을 쉽게 이해할 수 있었고
이론과 실습을 병행하며 알려주셔서 이해하기 편했습니다.

하지만, 짧은 시간 동안 여러 가지 툴을 사용하며
익히려니 헷갈리고 기억이 잘 나질 않네요.
다시 한번 혼자서 되짚어 보며 연습을 해봐야 할거 같습니다.

유익한 교육에 대해 감사 드립니다.
금일교육 알차고 알기 쉽게 꼼꼼히 해주셔서 감사합니다.

아쉬운 부분은 아니고 추가 교육을 계획 중이시라면 실제 프로젝트에 적용하는 교육도 괜찮다고 생각합니다.

TP의 경우 오래된 시스템이 많으니 좀 더 효율적으로 GitLab을 적용하는 방법이나
Eclipse에서 Git을 사용하는 방법 같은 실습도 도움이 많이 될 것이라 생각됩니다.

감사합니다.