BLOG main image
분류 전체보기 (239)
Rails (65)
Ruby (34)
이야기 (40)
스토리큐 (61)
그 밖에.. (30)
C# (6)
드리밍 인 코드
The note of Legendre
작은아이의 생각
agiletalk's me2DAY
[rails] Growl4Rails
美소년 ㅇㅅㅇ씨의 一日
마사키군의 생각
ayukawa's me2DAY
작은아이의 생각
agiletalk's me2DAY
63,405 Visitors up to today!
Today 10 hit, Yesterday 22 hit

 SUBSCRIBE

'github'에 해당되는 글 1건
2009/06/16 21:43

Octocat작년 github가 발표된 후부터 github는 ruby 개발자들에게 큰 인기를 얻고 있다. rails를 비롯한 많은 gem들이 repository를 github로 옮겼다. 이 글에서는 windows환경에서 github를 통해 gem을 배포하는 과정에 대해 알아본다.

msysgit 설치하기

윈도우즈에서 git을 사용하기 위해서는 msysgit이 필요하다. msysgit에서 Git-xxx 를 다운받아 설치한다.

설치 도중 물어 보는 것들 중 신경 써야 하는 것들 몇 가지는,

  • Add "Git Bash Here" 를 체크한다. 이는 탐색기에서 마우스 오른쪽 버튼으로 보여지는 메뉴에 Git Bash Here 를 추가한다.
  • Use Git Bash only 선택한다. PATH를 건드리지 않기 때문에 충돌의 염려가 없다. 그 대신 git을 이용하기 위해서는 Git Bash Here를 이용해야 한다.
  • 그리고, Use OpenSSH를 선택한다.
기본 설정

적당한 디렉토리(예를들면 C:\gitroot)를 선택해서 git bash 를 연다. 그리고 이름과 이메일을 설정한다.

  1. $ git config --global user.name "Your Name Comes Here"
    $ git config --global user.email you@yourdomain.example.com
SSH Key를 생성하기

github는 rsa를 이용해서 사용자를 인증한다. 공개키를 github에 등록해 놓고 개인키로 인증을 수행을 한다. 따라서 github를 사용하기 위해서는 rsa 키가 필요하다. 이 rsa 키를 만드는 과정은 다음과 같다.

환경 변수에 $HOME을 설정해 준다.
git bash를 연다. 그리고 다음 명령을 입력해 rsa key를 생성한다.

  1. ssh-keygen -C "username@email.com" -t rsa

Enter file in which to save the key 에는 생성된 rsa key가 저장될 파일 이름을 적어준다. 그냥 엔터를 치면 $HOME/.ssh/id_rsa 이다.

Enter passphrase 에는 사용할 암호 문구를 적는다. 보안에 대한 걱정이 없다면 안 적어도 된다. 적지 말자.

생성이 잘 완료되었다면 #HOME/.ssh 디렉토리에 키가 들어있음을 확인할 수 있다. 여기에 id_rsa.pub 라는 파일이 있는데, 이것이 공개키다. github 프로젝트에 넣어야 하니 기억하자.

더 자세한 설명은 providing your SSH keys 참조.

github에 프로젝트 만들기

github에 로그인을 하고, 프로젝트 만들자. 그리고 프로젝트의 edit을 눌러서 rubygem에 체크를 해 두자.

edit 페이지에는 또한 Deploy Keys라는 것도 보인다. 여기에 생성한 공개키(id_rsa.pub)의 내용을 복사해서 넣고, update를 누른다. 키는 여러 개를 등록할 수 있다.

프로젝트 생성해서 github에 밀어넣기

우선 개인키를 등록하는 과정이 필요하다. 이 개인키로 인증을 거쳐야 github에 push를 할 수 있다. git bash를 열고 다음 명령을 실행하자.

  1. exec ssh-agent bash
  2. ssh-add /PATH/TO/id_rsa (생성한 개인키)

매번 ssh-agent를 실행하는 것이 번거롭다면 C:\Program Files\Git\etc\profile 에 exec ssh-agent bash 를 추가해도 된다.

생성한 프로젝트에 들어가보면 친절하게도 로컬에서 프로젝트를 생성해서 git에 첫번째 push를 할때까지 일련의 명령들이 나와 있다. 이를 참조해서 github에 만든 gem을 밀어넣어 보자.

  1. cd gem_directory
  2. git init
  3. git add *
  4. git commit –m “initial commit”                 
  5. git remote add origin git@github.com:xxx # 원격지 repository인 github를 origin으로 등록
  6. git push origin master                             # origin에 변경내용 밀어넣기

제대로 되었다면 github 프로젝트에 밀어 넣은 파일들을 볼 수 있다.

git 에 대해 조금 더 알고 싶다면 git 명령어 혹은 git tutorial 혹은 Git User's Manual 이 도움이 될 것이다.

rubygem 을 github를 통해서 배포하기

github 프로젝트의 rubygem이 체크되어 있어야 한다. 그 외에는 해줄 것이 없다. 이 체크만 되어 있다면 github는 gemspec 의 내용을 참조해서 gem을 만든다. gemspec의 version이 변경되면 github는 gem을 다시 만든다. 이 경우 version이 변경됬음을 github가 감지하는 시간이 꽤 걸리는 듯 하다. 대략 한두 시간 정도.

충분히 기다린 후 gem을 찾아 보면 등록한 gem이 보인다.

  1. gem search gem_name -r
프로젝트를 Github에서 다운받기

clone을 이용한다.

  1. git clone GIT_CLONE_URL

GIT_CLONE_URL은 public url이 아닌 your clone url 로 하자. 그래야 push가 된다.

참조

github rubygems

prev"" #1 next