gitlab 11

[GitLab] 프로젝트 ID 확인하기

개요 GitLab API를 이용해 프로젝트에 대한 작업이 필요한데, 일반적으로 프로젝트에 대한 작업은 프로젝트 ID를 지정하게끔 되어 있는 것 같다. 이 글에서는 GitLab 프로젝트 ID를 확인하는 방법에 대해 적어둔다. 웹에서 확인 프로젝트 ID는 웹에서 간단하게 확인할 수 있다. 버전에 따라 위치는 다르지만 GitLab 프로젝트의 메인 페이지에서 확인할 수 있다. 또는 프로젝트의 General Settings 페이지에서 확인할 수도 있다. API로 확인 GitLab API를 통해서도 확인할 수 있다. 사실 이 글에서 기록해두려고 했던 바가 이 방법이다. 조금 더 정확하게는 프로젝트의 네임스페이스와 이름을 가지고 프로젝트 ID를 찾는 방법을 적어둔다. https:///api/v4/groups//pro..

Git | GitLab 2024.04.25

[GitLab] git cli로 Merge Request 생성

개요 로컬 GitLab 레포지터리에서 발생한 수정 사항을 원격지에 Push 하고 싶다. Branch 전략에 의해 master/main 브랜치에 직접 push하는 게 아니라 Merge Request를 통해 수정 사항을 반영하려고 하는데, 이 과정을 자동화할 수 있었으면 한다. 혹시 Git CLI 등으로 MR을 생성할 수 있는지, 어떻게 하는지 정리한다. git push -o 구글링과 공식 문서에 의하면 Git 2.10 이상 GitLab 11.10부터 push 명령에 옵션을 추가하여 MR을 생성할 수 있다고 한다. git push --push-option= # 또는 git push -o 사용할 수 있는 옵션은 여러가지인데 MR 생성과 설정에 대한 기본적인 옵션 정도만 살펴봤다. git push \ -o me..

Git | GitLab 2024.01.30

[GitLab] Mirroring repositories - LFS objects are missing 에러

개요 GitLab 저장소 백업을 위해 GitLab의 Mirroing repositories 기능을 이용해 다른 GitLab 저장소로 Push하고 있는데, 아래와 같은 LFS objects are missing 에러 메세지와 함께 Push에 실패했다. 13:close stream to gitaly-ruby: rpc error: code = Unknown desc = Gitlab::Git::CommandError: remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual "git lfs push --all". To http://gitlab.example/root/test.git ! [remote rejected..

Git | GitLab 2022.10.23

[GitLab] 버전 확인

GitLab 공식 문서를 참조하기 위해 서비스의 버전을 확인해보고자 한다. GitLab 버전을 확인할 수 있는 방법을 몇 가지 정리해둔다. 방법 1. 도움말 페이지 접속 웹으로 버전 확인할 GitLab에 로그인한 뒤 도움말 페이지를 접근하면 해당 GitLab의 버전을 확인할 수 있다. help 페이지는 오른쪽 상단의 드롭다운 메뉴 또는 GitLab의 EXTERNAL_URL 끝에 /help를 붙여 접근할 수 있다. 예시 ) https://gitlab.com/help 2. API 사용 GitLab API를 사용하여 버전을 확인할 수 있다. API를 사용할 때에는 액세스 토큰이 필요하다. curl --header "PRIVATE-TOKEN: YOUR ACCESS TOKEN" http://GITLAB.URL.C..

Git | GitLab 2022.05.07

[GitLab] Admin 계정으로 Push하기

보통 GitLab에서 Admin 계정으로 저장소를 생성해서 commit/push를 할 일은 없을 거라고 생각하지만…… 개인적으로 설치해서 혼자 사용하는 저장소인 경우에는 귀찮음을 이유로 계정 관리에 소홀할 수 있을 것 같다. 그래서 이 글에서는 Admin 계정으로 원격 gitlab 저장소에 push 하는 방법을 정리하려고 한다. 일반 사용자 계정을 이용하는 것과 다른 점은 없다. 방법 1. 사용자 설정 git commit 하고 push를 하기 위해서는 먼저 로컬 저장소에 사용자 설정을 해주어야 한다. 로컬 저장소 설정 확인 git config --list 로컬 저장소 사용자 설정 global 설정을 하는 건 적절하지 않을 것 같으므로 해당 저장소에서만 유효하도록 --local 옵션을 주어 설정했다. gi..

Git | GitLab 2022.05.03

[GitLab] 그룹으로 개인 프로젝트 이동

여러 사람이 소스 관리를 하면 개인 저장소에 프로젝트를 생성해서 관리하는 것보다 그룹 저장소에 프로젝트를 생성해 관리하는 것이 더 편할 수 있다. 하지만 이미 개인 저장소에 프로젝트를 생성해서 소스 관리를 진행하고 있었다면, 프로젝트를 그룹 저장소로 이동시켜야 할 필요가 있다. 이런 경우 가장 단순한 해결 방법은 그룹에 신규 프로젝트를 생성한 뒤 기존 개인 저장소의 프로젝트를 clone/push 하는 방법인데 아마 commit history가 유지되지 않는 걸로 알고 있다. (확실하진 않다.) 그리고 다른 해결 방법은 GitLab에서 제공하는 Project Transfer 기능을 이용하는 것이다. 이 글에서는 웹 상에서 개인 저장소에 생성해둔 프로젝트를 Project Transfer 기능을 이용해 Gro..

Git | GitLab 2021.06.28

python-gitlab 사용방법

python-gitlab이란? GitLab API에 대한 접근을 제공하는 Python 패키지 GitLab API를 이용하는 대부분의 작업을 Python 프로그램에서 사용할 수 있다. 터미널에서 GitLab API를 사용할 수 있도록 gitlab 명령어를 제공하기도 한다. 지원하는 클래스와 함수는 공식 문서에서 살펴볼 수 있다. 공식 문서 : https://python-gitlab.readthedocs.io/en/stable/# Welcome to python-gitlab’s documentation! — python-gitlab 2.8.0 documentation © Copyright 2013-2018, Gauvain Pocentek, Mika Mäenpää Revision dc535565. python..

Python 2021.06.19

GitLab 삭제

디스크 용량을 확보하기 위해 테스트 목적으로 설치한 GitLab을 삭제하려고 한다. 패키지만 삭제한다고 삭제되지 않기 때문에 아래 과정을 따라야 한다. 방법 1. GitLab 서비스 제거 gitlab-ctl uninstall root 권한을 요구한다. 2. 데이터 삭제 gitlab-ctl cleanse 잠깐 기다리는 시간이 필요하다. 3. GitLab 계정 삭제 gitlab-ctl remove-accounts 4. 패키지 삭제 # ubuntu dpkg -P gitlab-ce # centos yum remove gitlab-ce # 다중 명령어로 실행해도 됨 dpkg -P gitlab-ce || sudo yum -y remove gitlab-ce 패키지 버전은 설치한 버전에 맞게 gitlab-ee 또는 g..

Git | GitLab 2021.05.28

[GitLab] Data 저장 디렉터리 변경

git data는 별다른 설정을 하지 않았을 경우, 아래 경로에 저장된다. /var/opt/gitlab/git-data 즉, root 경로 아래에 데이터가 누적된다. /root에 데이터가 누적되는 경우 디스크 용량이 부족해질 수 있어 별도로 마운트 시킨 디스크에 데이터가 저장될 수 있도록 변경하고자 한다. GitLab 설정 변경이므로 root 권한이 필요할 수 있다. 방법 1. 설정 파일 수정 vim /etc/gitlab/gitlab.rb 파일 내에서 아래와 같은 git_data_dirs 설정을 찾는다. # git_data_dirs({ # "default" => { "path" => "/var/opt/gitlab/git-data" }, # }) 2. 디렉토리 지정 해당 내용을 주석 해제 후, path 값..

Git | GitLab 2021.05.27

[GitLab] Repository mirroring 설정

Repository mirroring 설정 시 일정 주기마다 미러링 저장소를 자동으로 업데이트하여 원본 저장소와 동일한 상태로 만든다. 미러링 방향은 push(core) 또는 pull(premium) 레포지터리 미러링 설정은 웹 또는 RestAPI를 통해 설정할 수 있다. 이 글에서는 웹을 통해 레포지터리 미러링 기능을 이용하여 GitLab 저장소(원본 저장소)에서 다른 GitLab 저장소(미러링 저장소)로 Push 하도록 설정하는 방법을 다룬다. 준비물 - 사용자 Access Token (선택사항) 더보기 Access Token은 계정에 대한 권한 인증에 사용하며, 일종의 비밀번호처럼 사용한다. 미러링 저장소에 Push할 계정의 액세스 토큰을 생성하면 된다. Access Token 생성 내 계정 > P..

Git | GitLab 2021.05.25
1 2