[출처]: http://html5around.com/wordpress/tutorials/ubuntu-gitlab-install-use-1/
시작하기 전에
리누스 토발즈가 Git을 만든 후,현재까지 많은 사람들이 Git을 이용하고 있으며,
GitHub는 Git을 바탕으로 Public은 무료, Private은 유료 서비스 정책 으로 수익을 거두고 있으며,
Google도 개발자 소스를 GitHub로 옮기고 있다는 이야기도 들려옵니다.
Enterprize 버젼은 유료이지만, Community 버젼은 Private 서비스 조차 무료인 GitLab을
사용하시는 분들도 점점 늘어가고 있는 것으로 알고 있습니다.
GitLab의 Community 버젼은 완전 오픈소스 라이센스라서 , 과정이 길고 험난하긴 하겠지만
심지어 수정하셔서 제품으로 팔거나, 상업적 서비스를 하셔도 문제가 없는 것으로 알고 있습니다.
사실 큰 프로젝트가 아니면, Git의 버젼 컨트롤 기능보다는 저장소(스토리지) 기능으로
사용하시는 분들이 더 많지 않을까 생각됩니다. (제가 저장소로만 사용 ^^)
익숙해 지시면 생각보다 아주 많이 편리합니다.
Private이라 해도 정서적으로 자료를 외부서버에 저장하고 싶지 않다거나,
Git만 설치해서는 GUI가 없어 맘에 안 드신다거나 등등의 이유를 역동적으로 묶어서
오늘은 Git을 베이스로 한 GitLab Community 버젼, 최신 gitlab-ce를 우분투에 설치하고,
기본 사용법관련 제 경험을 공유하고자 합니다.
GitLab은 문서도 오픈소스치고는 꽤 잘 되어있는 편이어서 , 영어와 눈이 마주쳐도 울렁증 없으시면,
GitLab-CE 도큐먼트 참고 하시면 많은 도움 되실 겁니다.
그럼 달려 보겠습니다.
참고로 제 우분투 버젼은 64비트 14.04 LTS 입니다.
설치
설치는 소스 컴파일/옴니버스 방식 2가지가 있는데, 많이 편한 옴니버스 방식으로 해 보겠습니다.
아래 코드대로 진행합니다.( gitlab 사이트 내용 참고 하였습니다)
- $ sudo apt-get install curl openssh-server ca-certificates postfix
- ## postfix는 일단 그냥 No Configuration으로 선택합니다.
- ## sudo dpkg-reconfigure postfix 명령으로 언제든지 설정 가능합니다.
- $ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- ## Running apt-get update... 메세지 ...약간 시간 걸림
- ## 메세지 The repository is setup! You can now install packages. 가 보임
- $ sudo apt-get install gitlab-ce
- ## 화면에 노란 별로 그린 마크와 빨간색으로 쓴 GitLab 글자 밑에
- ## 메세지로 sudo gitlab-ctl reconfigure 를 실행하라고 알려줌
- $ sudo gitlab-ctl reconfigure
- ## 화면에 글자들이 올라가면서 잠시 시간 걸림
- ## 설정파일 수정 후에는 항상 이 명령을 해주어야 함
- $ gitlab-ctl -help
- ## gitlab-ctl 명령뒤에 사용할 수 있는 옵션(start..stop..upgrade 등등) 확인
- $ sudo gitlab-ctl upgrade
- ## 그냥 한번 해 보았습니다. 이상하게 동작하면 restart하라는 메세지가 보입니다.
설치가 되고 나면 /etc/gitlab/
디렉토리에 설정관련 파일(gitlaba.rb)이/var/opt/gitlab
디렉토리에 gitlab을 구성하는 프로그램 파일과 설정 파일들이,/opt/gitlab/embedded/service/gitlab-rails/app/views
디렉토리에 프론트-엔드 부분
커스터마이징(합리적 개인적 추측^^) 할 수 있는 파일들이 보입니다.
설정
째끔 폼나게 사용하시려면, 아래와 같은 추가 설정을 해줍니다.
메일보내기(smtp) 설정은 관리자(root)가 사용자 등록을 하고, 자동으로 인증절차 메일이 발송되는 등등의
기능을 사용하지 않을거라면 필요없습니다만, 없으면 격이 많이 떨어 지므로
gitlab-smtp 설정 참고하시어 Gmail로라도 설정하시길 추천 드립니다.
gitlab-smtp 설정 페이지 맨 아래에 smtp 설정 뒤에 터미널에서
gitlab-rails console 명령으로 메일 설정 테스트할 수 있는 부분도 있습니다.
[Gmail의 경우 설정외에 메일계정 로그인하시어 환경설정에서 "전달 POP /IMAP" 메뉴
에서
기본적으로 막혀있는 프로토콜을 Open하셔야 연동이 가능합니다.
구글에서 보안관련 메일이 올 수 있습니다.^^]
- $ cd /etc/gitlab
- ## 즐겨 사용하시는 에디터로 gitlab.rb 파일에서 아래 내용(저의 경우) 참고 수정
- ## ip:port 또는 host:port 식으로 외부접속 URL 설정
- external_url 'http://192.168.0.111:9000'
- ## 타임 존 맞게 설정
- gitlab_rails['time_zone'] = 'Asia/Seoul'
- ## smtp 부분 설정, 아래 라인 부터 시작
- gitlab_rails['smtp_enable'] = true
설정 적용 & 재시작
- $ sudo gitlab-ctl reconfigure
- $ sudo gitlab-ctl restart
- $ sudo gitlab-ctl status
- ## run: 붙은 메세지가 10개 조금 넘으면 OK! 입니다.
접속 테스트
이제 설치와 기본 설정이 끝났으니, 웹 브라우져에서 설정한 IP:포트넘버로 접속하시면
아래와 같이 암호를 설정하라는 화면이 보이실 겁니다.
GitLab 초기 화면[/caption]
8자리 이상 새 암호를 지정하시고, Sign in으로 로그인 하시어
Welcome to GitLab, New Group, New Project 화면이 보이시면 잘 동작하는 것입니다.
이제 나만의 GitHub를 가졌다는 기쁜 마음으로, 이것 저것 메뉴를 눌러보시는,
GitLab서버와 친해지는 시간을 가져봅니다.
마무리
만약 어떤 이유로 삭제 하시고프면
- sudo gitlab-ctl stop
- sudo gitlab-ctl uninstall
또는
- sudo gitlab-ctl stop
- sudo apt-get autoremove gitlab-ce
제 개인적 경험으로는 2번째 방법을 추천드립니다
만일 root 암호를 잊어버리셨다면, root 암호 재설정법 페이지를 참고 하시면 됩니다.
[gitlab-rails console production 명령은 sudo gitlab-rails console production 식으로 sudo를 붙여줍니다]
우분투에 gitlab 설치 사용하기 2 에서 기본 사용법을 알아보도록 하겠습니다.
이 글이 누군가에겐 조금이나마 도움이 되었으면 하는 작은 바람입니다.
[출처]: http://html5around.com/wordpress/tutorials/ubuntu-gitlab-install-use-2/
시작하기 전에
우분투에 gitlab 설치 사용하기 1 에서 gitlab-ce가 잘 설치되어, 실행 된다면
이제 기본 사용법을 익혀 보도록 하겠습니다.
항상 새로운 프로그램을 설치하면, 어디서 부터 시작해야 할 지 그것이 문제입니다.
gitlab은 소프트웨어 버젼 관리 서버 툴이니, 유저와 프로젝트 관리, 그리고 클라이언트 사이드에서의
사용법이 알아야 할 기본 사용법이 됩니다.
기본 사용법만 한번 익히시면, GUI로 되어 있기 때문에 나머지 기능들도
연습 1~2번만으로도 활용할 수 있는 느낌이 금새 온 몸을 덮을겁니다.
그럼 또 달려볼까요~~
먼저 브라우져로 설치한 gitlab에 접속하셔서,root로 로그인 하시면, 아래와 같은 우측 상단 메뉴가 보입니다.
왼쪽 스패너 부터 마우스 올려보시면 Admin Area, New Project,Issues, Merge Request, Todos 와
Profile Settings Sign out 메뉴를 가진 동그라미가 있습니다.
메뉴이름이 직관적이어서 설명이 필요없습니다.
동그라미 >> Settings 의 Main settings에서 Email 부분을 본인 메일주소로 변경해줍니다.
Email 이외의 부분은 취향대로 자유롭게 하시면 됩니다.
SMTP 세팅에 문제가 없다면 본인메일주소로 링크가 포함된 confirm 메일이 와 있고, 해당 링크를 클릭하면
gitlab의 로그인 페이지로 연결 될겁니다.
화면 왼쪽 상단에 있는 까만 작대기 3개도 눌러보시면, Projects 부터 Help까지
자주 쓰게 되는 기능들을 메뉴로 모아 놓았습니다. 참 친절합니다.
친절함의 회답으로 잠시 시간을 내시어 오른쪽 상단메뉴부터 왼쪽 상단메뉴까지
휘리릭 클릭해보면서 눈인사 하는 척 GitLab의 전체적인 구성을 염탐해 둡니다.
USER 생성
유저를 생성하는 법은 크게 2가지 입니다.
유저가 직접 브라우져로 gitlab에 접속해서 register 하는 법과 gitlab 관리자가 등록해주는 법입니다.
여기서는 관리자(현상태에서는 root 1명)가 등록해 주는 것으로 하겠습니다.
화면 오른쪽 상단메뉴 스패너(Admin Area) 를 클릭하면 Overview 화면이 나오고,
하단부에 Projects , Users , Groups 가 현재 몇 개가 있는지와
각각을 추가할 수 있는 커다란 녹색 버튼이 보입니다.
가운데 있는 New user 버튼을 꾹 누릅니다.
위 그림 처럼 *required 붙은 부분은 꼭 채워주시고(Email은 정확하게),
Password 밑으로 있는 설정들은 만약 아주 친한 분의 계정을 생성하는 거라면
Projects limit는 기본값이 10000인데, 1억정도 주시고(어차피 다 사용하지 못하니까요~~)
Can create group 은 당연히 체크?
Access level은 아무리 친한 사이라 해도 Admin 권한을 줘도 되는지 한번 고민합니다.
Profile 부분은 계정 받으신 분이 나중에 채워야 겠지요.
왼쪽 하단 Create user 녹색 버튼을 누르면 유저가 생성되고,
해당 Email 주소로 아래와 같은 메일이 보내지고, 메일을 받은 사람(계정)은
링크를 타고 접속해서, 암호설정후 로그인 가능하게 됩니다
관리자는 일반 유저계정 정보 페이지에서 해당 계정을 Block[정지], Remove[삭제] 시킬수도 있으며,
Impersonate 버튼을 눌러, 해당유저의 대역역할을 해 줄 수도 있습니다.
PROJECT 생성
프로젝트 생성은 위에서 만들어 준 USER(test)로 로그인해서 만들어 보겠습니다.
로그인 하면 관리자가 아니라서 오른쪽 상단메뉴에 스패너(Admin Area)는 빠지고,
+(New Project) 부터 나오고, 마지막 동그라미 색깔도 파란색 계열로 바뀝니다.
Project 추가를 위해 +를 눌러 줍니다.
자동으로 gitlab 서버ip 뒤에 유저 아이디가 붙어서 프로젝트 경로가 만들어집니다.
앞으로 test계정으로 만드는 모든 프로젝트는 이 경로 아래 붙게 됩니다.
Project name에 느낌오는 프로젝트명을 취향대로 써줍니다.
Project name 아래로, 그룹을 만들겠냐?, 다른 곳에서 프로젝트를 끌어오겠느냐?가 있고,
Project description(optional) 은 옵션이여서 안써도 되지만 , “연습용” 이라고 일단 간단히,
Visibility Level 은 Private은 허가 받은 유저만, Internal은 로그인 계정을 받은 사람들만,
Public은 Anybody Everybody 누구나 볼 수 있다는 의미입니다.
상황을 쉽게 가져가기 위해서 Public 선택 후 왼쪽 하단 녹색 Create Project를 눌러줍니다.
왠지 Github에서 느껴졌던 그 느낌이 느껴지면서 프로젝트가 훨씬 잘 될 것 같습니다.
별과 HTTP,URL 복사버튼도 클릭해 보시고 ,+ 눌러서 파일도 한번 만들어보시고,
파란색으로 보이는 README 나 LICENSE 등도 눌러서 에디트 기능과도 눈인사를 해봅니다.
화면을 더 아래로 내려보시면, GitLab이 얼마나 친절한지 ,
커맨드 라인에서 Git명령어로 해당 프로젝트에 접속/사용하는 법도 알려줍니다.
현재 프로젝트에 아무것도 없으니, +를 눌러 New file 선택 후 Template >> LICENSE >> MIT License 클릭 후
Commit message에 ” 참 좋은 라이센스” 라고 쓴 후, 왼쪽 하단 녹색 Commit changes 를 꾹 눌러줍니다.
이제 다시 Project 메뉴를 클릭해 보시면, master에 라이센스 파일이 추가 되었음이 확인됩니다.
Client 사이드에서 사용
초 간략하나마 GitLab 서버에 테스트 해볼수 있는 프로젝트를 만들고, 파일도 1개 넣었으니
이제 네트워크내의 다른 컴퓨터에서 Git명령어로 작업하는 방법을 알아보겠습니다.
크게 서버의 프로젝트 파일을 클라이언트 쪽으로 복사해오는 것과 클라이언트 컴퓨터의 작업내용을
서버 프로젝트 파일에 반영하는 법 2가지만 보도록 하겠습니다.
GitLab은 Git을 바탕으로 만들어졌으니, 클라이언트 컴퓨터에서도
아래 명령어로 우선 Git을 설치해야 합니다.
- $ sudo apt-get install git
- ## sudo apt-get install git-core 하시는 분들이 계신데
- ## apt-cache search git-core 명령어로 확인하시면 (obsolete) 이라고 뜨니
- ## git-core는 사용하지 않으시는 게 좋겠습니다.
git이 잘 설치가 되었다면, 서버의 프로젝트 메뉴에서 URL을 copy 하여
아래 코드처럼 git clone 명령 뒤에 붙이면, 서버에 만들었던 프로젝트가 그대로
컴퓨터에 복사되어 옴을 확인 할 수 있습니다.
- $ cd ~
- $ git clone http://test@192.168.0.111:9000/test/html5around.git
- $ cd html5around
- $ ls ## 아까 만들었던 라이센스 파일 보임
- $ git status
거꾸로 client 컴퓨터에서 변경한 내용을 서버에 있는 프로젝트에 합치려면 아래와 같이 합니다.
- $ pwd ## ~/html5around 디렉토리인지 확인
- $ echo "Hello Html5Around" > test.txt ## test.txt 파일 생성
- $ git add test.txt ## test.txt 파일을 git 작업 대상에 추가
- $ git commit -m "파일추가" ## 메세지 "파일추가" 와 함께 commit실행
- $ git push -u origin master ## 내용을 서버쪽에 반영하기 / 유저의 암호 물어봄
- ## 브라우져에서 프로젝트 내용확인하면 test.txt도 보임
마무리
어떻게 잘 활용할 수 있는 자신감이 생기셨는지 모르겠습니다.
Git을 먼저 따로 설명드렸어야 했었나 하는 애매한 느낌입니다.
연습으로 Group/Branch 만들기도 해보시고, gitlab document 참고 하시어 과감하게 이것 저것 시도해 보시면,
금방 잘 쓰시게 될 거라고 생각됩니다.
참고로 SSH를 사용하시면, 훨씬 편리한데, 우분투에서 SSH설치,사용하기 참고 하시어, 키를 만든 후
gitlabt서버 User Setting 페이지에서 SSH Keys 메뉴를 클릭 후 key 텍스트 박스에
public key (~/.ssh/id_rsa.pub 파일 내용을 복사) 를 붙여 넣으시고, 아래 처럼 설정 하시면
- $ git config --global user.name "test"
- $ git config --global user.email "test@html5around.com"
HTTP대신 SSH URL을 이용하여 암호 필요없이 사용할 수 있어 훨씬 안전하고 편리합니다.
큰 프로젝트에나 필요하고, 작은 규모에는 판단여부에 따라 필요없는 기능도 많으니
너무 모든 기능을 사용하시려고 하는 것 보다는 적정선에서 타협을 보심이
좋을 것 같습니다. ~~
이 글이 누군가에게는 조금이나 도움이 되었으면 하는 작은 바램입니다.
How to reset your root password
Log into your server with root privileges. Then start a Ruby on Rails console.
Start the console with this command:
Wait until the console has loaded.
There are multiple ways to find your user. You can search for email or username.
or
Now you can change your password:
It's important that you change both password and password_confirmation to make it work.
Don't forget to save the changes.
Exit the console and try to login with your new password.
'Tools > GIT' 카테고리의 다른 글
git branch 삭제. (0) | 2016.08.26 |
---|---|
repo를 이용한 프로젝트 관리 (0) | 2016.08.17 |
유용하게 사용할 git 명령어 (0) | 2016.07.27 |
Git : 빈 디렉토리 추가하기 (0) | 2015.12.08 |
empty 폴더를 커밋하고자 할 때.. (0) | 2015.06.10 |