Dev Environment/Git

GitLab 소개 (SSH 생성)

jaiyah 2016. 5. 12. 12:16

버전관리 시스템(VCS)

버전 관리 시스템은 소프트웨어를 제작하면서 발생하는 변화들을 기록해서 소프트웨어의 변화를 열람하고, 수정 할 수 있도록 도와주는 시스템이다. 



원격 저장소

버전 관리 시스템은 소스코드를 저장할 수 있는 서버를 운영할 수 있다. 

서버에 소스코드를 저장함으로서 협업, 백업, 프로젝트 홍보 등의 다양한 장점이 생긴다. 



Issue Tracker

이슈 트래커는 프로젝트를 진행하는 과정에서 발생하는 업무들을 관리해주는 업무 관리 시스템이다.



GitLab

Gitlab은 Git의 원격 저장소 기능과 이슈 트래커 기능등을 제공하는 소프트웨어다. 

설치형 Github라는 컨셉으로 시작된 프로젝트이기 때문에 Github와 비슷한 면이 많이 있다. 

서비스 형 원격저장소를 운영하는 것에 대한 비용이 부담되거나, 소스코드의 보안이 중요한 프로젝트에게 적당하다. 



GibLab 특징

  • 설치형 버전관리 시스템 - 자신의 서버에 직접 설치해서 사용할 수 있다. 
  • 클라우드 버전 관리 시스템 - gitlab.com을 이용하면 서버 없이도 Gitlab의 기능을 이용할 수 있다. 10명 이하의 프로젝트는 무료로 사용할 수 있다. 
  • Issue tracker 제공
  • Git 원격 저장소 제공
  • API 제공 
  • Team, Group 기능 제공



참고

Gitlab 소개 - http://gitlab.org

Gitlab 소스코드 - https://github.com/gitlabhq

Gitlab 클라우드 - http://www.gitlab.com/





Window SSH 생성하기

Git Bash 실행 ( 유닉스,OS X환경의 터미널 환경이나 리눅스의 콘솔(console) 환경과 같은 환경을 만들어주는 프로그램)


키 생성하기


$ ssh-keygen (입력)


인증키를 생성하게 된다.

기본경로로 생성하길 권장 ( 좀 복잡하다고 함)

키에 한번 더 보안 장치를 걸 수가 있는데 보안이 더 중요하다면 Enter passPhase (empty for no passpharse) :

보안 패스워드 입력해주면 된다.


id_rsa(비밀키), id_rsa.pub(공개키)인 두 가지가 키가 생성되는데 이중 id_rsa 비밀키는 절대 유출되어서는 안되는 키이며 공개키는 원격저장소(Github, GitLap)에 있는 것을 컨트롤 할 수 있도록 해주는 키이다.


~(물결)은 현재 자신의 디렉토리를 가리킴


$ cd ~/.ssh
# .ssh 디렉토리로 이동


$ ls -al

현재 디렉토리에 있는 목록을 모두 보여줌


$ pwd

현재 디렉토리 경로를 보여준다


아래와 같이 명령어를 입력한다. cat은 뒤에 따라오는 파일의 내용을 화면에 출력하라는 의미의 명령이다. 즉 ~/.ssh/id_rsa.pub 파일의 내용을 화면에 출력하라는 뜻이다.

cli
cat ~/.ssh/id_rsa.pub

파일 내용 중에 ssh-rsa로 시작하는 부분부터 문자열이 끝나는 부분까지 마우스로 드래그 한 다음에 오른쪽 클릭을 하고 copy를 선택해서 복사한다. 공백이 포함되면 안 되기 때문에 정확하게 복사한다. 이 내용은 인증에 사용되기 때문에 유출되면 안 된다.

그 다음 github.com 으로 접속한다. 우측 상단  Settings  클릭해서 계정 정보 변경 페이지로 이동한다.

왼쪽 사이드바의 SSH Keys를 선택한 후에 오른쪽 상단에 Add SSH Key 버튼을 클릭한다.

현재 사용 중인 컴퓨터(우분투)의 별명을 붙여준다. 그리고 복사한 SSH key를 붙여넣기 한다.

비밀번호를 요구하면 github.com의 비밀번호를 입력한다. 이렇게 하면 SSH키를 github에 등록하게 되는 것이다.


정상적으로 잘 작동하는지 확인하기 위해서 아래와 같은 명령을 터미널에서 입력한다. '-T'는 대문자를 입력해야 한다.

cli
ssh -T git@github.com

그 결과 아래와 같은 값이 출력된다면 성공적으로 인증된 것이다.

cli
Hi opentutorialsorg! You've successfully authenticated, but GitHub does not provide shell access.

이제부터는 자신의 컴퓨터에서 github.com으로 소스코드를 업로드 할 때 비밀번호를 따로 입력하지 않아도 자동으로 인증이 된다.


현재 디렉토리의 해당 경로로 이동하여 id_rsa.pub를 메모장으로 열어 파일의 내용을 copy하여 Gitlab의 SSH keys의  key 등록하는 곳에  add new를 클릭한 후에 key의 textarea에 paste한다




Mac용


$ cat id_rsa.pub

커맨드창에서 위의 명령어를 입력하면 해당 파일의 내용을 보여준다.

그 해당 파일의 내용인 키를 복사하여 Gitlab의 key생성에 갖다 붙히거나 github의 settings 의 좌측메뉴에서 SSH and GPG keys 에 들어가 key 입력란(textarea)에 갖다 붙힙니다. 


- SSH를 생성함으로써 자신의 로컬 컴퓨터에서 Gitlap인 원격 저장소에 접근할 수 있는 권한이 생긴 것이다.



cli
vi index.html
:wq




Jaehee's WebClub



[발췌 : 생활코딩]