본문 바로가기

IT/NAS

[자작NAS] 15. Bitbucket에서 GitLab으로 프로젝트 불러오기

반응형

GitLab 설치가 완료되면 프로젝트를 생성하고 관리할 수 있습니다.

도커로 GitLab을 설치하는 방법은 아래의 링크에서 확인 가능합니다.

2016/12/05 - [IT/컴퓨터/NAS] - [자작NAS] 14. 우분투에 Docker로 GitLab 설치하기

GitLab을 통해 그룹과 프로젝트를 생성하는 방법입니다.


1. Bitbucket 연동을 위한 기본 설정

기존에 GitHub나 Bitbucket 등에서 생성하고 관리하던 프로젝트를 가져올 수 있습니다.

Bitbucket에서 기존에 진행하던 프로젝트를 가져오는 방법입니다.

먼저 GitLab 설정 파일을 수정합니다.

sudo docker exec -it gitlab nano /etc/gitlab/gitlab.rb

GitHub나 Bitbucket 등을 연결하려면 OmniAuth 설정을 먼저 진행해야 합니다.

다음과 같이 설정을 적용하면 됩니다.

gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = false
gitlab_rails['omniauth_external_providers'] = ['bitbucket', 'github']

변경 내역을 반영하기 위해서 저장(Ctrl + X, Y, Enter)하면 기본 설정은 완료됩니다.


2. OAuth 설정

이제 Bitbucket 페이지로 이동해서 기존 계정으로 로그인합니다.

http://www.bitbucket.org/

우측 상단의 Bitbucket settings를 선택하거나 Manage Team을 선택합니다.

왼쪽에 메뉴가 표시되는데 ACCESS MANAGEMENT의 OAuth를 선택합니다.

화면의 Add consumer를 실행해서 정보를 입력합니다.

다음과 같이 정보를 입력하면 됩니다.

Name 

원하는 이름(아무거나 입력가능)

Application description

원한다면 기입(공백도 가능)

Callback URL

공백

URL

GitLab이 설치된 URL(http://gitlab.example.com)

URL은 정확하게 입력이 되어야 하며 아래의 권한은 다음과 같이 선택합니다.

권한은 Account에서 EmailRepositories에서 ReadAdmin을 선택합니다.

설정이 완료되면 SAVE를 눌러서 저장하면 생성됩니다.

해당 GitLab URL의 KeySecret이 생성된 것을 확인할 수 있습니다.

GitLab 설정 파일을 다시 수정합니다.

sudo docker exec -it gitlab nano /etc/gitlab/gitlab.rb

다음 gitlab_rails['omniauth_providers'] 부분을 아래와 같이 수정합니다.

KEY와 SECRET 부분은 실제 Bitbucket 페이지의 Key와 Secret을 입력해야 합니다.

설정이 완료되면 저장하고 빠져나옵니다.


3. SSH키 생성 및 등록

마지막으로 Bitbucket에 연동하기 위해서는 SSH키를 생성하고 등록해야 합니다.

아래와 같이 도커 명령어를 실행합니다.

sudo docker exec -it gitlab bash

먼저 git 계정으로 변경합니다.

su git

이제 SSH 키를 생성합니다.(수정이 안되기 때문에 명령어를 붙여넣기로 실행하는 것을 추천)

ssh-keygen

Enter file in which to save the key가 표시되면 아래 경로를 입력합니다.

/var/opt/gitlab/.ssh/bitbucket_rsa

Passphrase는 입력하지 않고 그냥 엔터를 눌러서 생성합니다.

다음 파일을 수정(없으면 생성)합니다.

nano /var/opt/gitlab/.ssh/config

nano 명령어와 관련된 에러가 표시되도 그냥 엔터를 누르고 다음과 같이 입력합니다.

Host bitbucket.org
  IdentityFile ~/.ssh/bitbucket_rsa
  User git

입력을 완료하면 저장(Ctrl + X, Y, Enter)하고 빠져나온 후 아래 명령어를 입력합니다.

ssh bitbucket.org

다음과 같이 표시가 되는데 yes를 입력하면 됩니다.

The authenticity of host 'bitbucket.org (104.192.143.1)' can't be established.

RSA key fingerprint is SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A.

Are you sure you want to continue connecting (yes/no)?

입력을 완료하면 permission denied가 나오는데 정상적으로 설정이 완료된 것입니다.

설정을 완료했으면 exit를 누르고 root 계정으로 돌아갑니다.

exit

다음으로 /etc/shadow 파일을 수정합니다.

nano /etc/shadow

중간에 git:!:17137:0:99999:7::: 이런 부분이 있는데 !*로 변경하고 저장합니다.

설정이 완료되면 도커 컨테이너를 빠져나오고 gitlab을 다시 시작합니다.

exit
sudo docker restart gitlab

이제 Bitbucket에서 프로젝트를 Import할 수 있게 됩니다.


4. Bitbucket에서 프로젝트 Import

복잡한 설정 과정이 완료되면 Bitbucket에서 프로젝트를 가져올 수 있습니다.

먼저 GitLab 페이지에서 로그인합니다.

Projects를 선택하고 다음 화면에서 New Project를 선택합니다.

화면에 Bitbucket 버튼을 실행하면 Bitbucket 페이지가 뜨면서 권한을 줄 것인지 묻는 화면이 나옵니다.

Grant access를 실행하면 Bitbucket의 모든 프로젝트를 GitLab에서 확인할 수 있습니다.

각 프로젝트의 우측에 Import 버튼이 있는데 선택하면 해당 프로젝트를 가져옵니다.

정상적으로 가져오면 화면 상단에 다음과 같이 표시됩니다.

이제 GitLab에서 프로젝트를 이어서 관리할 수 있습니다.

반응형