gitlab 14

[GitLab] API로 원격 저장소 파일 읽기

개요 GitLab 저장소에 저장되어 있는 파일을 클론하지 않고 내용을 확인하고 싶다. 웹 요청이나 API를 통해 확인할 수 있을 것 같은데, 이 글에서는 GitLab API를 이용해 레포지터리에 저장된 파일 정보를 확인해본다. 원격지 파일 정보 확인 원격 저장소에 저장된 파일에 대한 정보는 다음의 url로 요청할 수 있다. 요청 시 원격지 프로젝트의 아이디 값과 확인할 파일의 경로를 지정해주어야 하는데, 파일에 경로에는 branch 정보도 포함되어야 한다. branch 정보는 ref 속성으로 지정한다. GET /projects/:id/repository/files/:file_path # 예시 curl --header "PRIVATE-TOKEN: " "https://gitlab.example.com/api..

Git | GitLab 2024.05.09

[GitLab] API로 MR 업데이트하기

개요 2024.01.05-[GitLab] git cli로 Merge Request 생성에서 Git Push와 함께 MR 생성을 자동화할 수 있도록 CLI로 작업을 해봤는데, 이후 동작에서 이미 생성되어 있는 MR 정보를 갱신해야 할 필요가 생겼다. GitLab API를 이용해 특정 프로젝트의 MR을 찾아 업데이트하는 방법을 정리한다. 예시로 파이썬으로 구현해둔다. MR 업데이트 공식 문서에 의하면 MR을 업데이트할 때는 아래와 같은 URL에 Put 요청을 하면 된다. project의 id와 mr의 id는 필수값이고, 업데이트할 값에 해당하는 labels, assignee_id, title, description 등등의 여러 값은 필요에 맞게 전달하면 된다. PUT /projects/:id/merge_re..

Git | GitLab 2024.05.03

[GitLab] CLI로 fork 저장소 MR 생성 시 업스트림 저장소에 생성되는 문제

개요 2024.01.05-[GitLab] git cli로 Merge Request 생성에서 CLI를 이용해 MR을 생성하는 방법을 정리했다. 해당 부분을 프로그램 상에서 테스트하기 위해 공통 저장소를 Fork한 뒤, Fork 저장소로 MR 생성을 시도해보았는데……Fork 저장소가 아니라 원본(업스트림) 저장소를 대상으로 MR이 생성되는 현상을 확인했다. 원인을 파악하고 해결해본다. 원인 사실 달리 원인이 있던 것은 아니고…… push_option을 사용해 MR을 생성할 프로젝트를 지정할 수 있는 기능이 비교적 최근에 개발되었다. 아무래도 처음 merge_request 관련 옵션을 개발할 때 Fork 저장소에서 업스트림 저장소를 대상으로 MR이 생성된다는 사용자 시나리오를 생각하고 개발한 것 같다. 그 이..

Git | GitLab 2024.05.02

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

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

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
1 2