Lovable 프로젝트를 GitLab 저장소에 연결해 코드 백업·Merge Request·CI/CD를 활용합니다.
GitLab에 프로젝트 동기화하기
Lovable 프로젝트 코드를 GitLab.com 또는 셀프 매니지드 GitLab 인스턴스에 코드 백업, 협업, 배포 목적으로 내보내고 양방향 동기화하세요.
Lovable로 빌드하면 프로젝트 코드는 Lovable 플랫폼 내부에 저장되고 관리됩니다.
GitLab은 버전 관리, Merge Request와 코드 리뷰, CI/CD 파이프라인을 갖춘 코드 저장·관리·공유 플랫폼입니다.
자체 사본이 필요하거나, 개발자와 협업할 계획이거나, 프로젝트를 다른 곳으로 옮기려면 프로젝트를 GitLab에 내보내고 동기화할 수 있습니다. 코드를 백업하고, Merge Request에서 변경을 리뷰하고, IDE에서 로컬로 작업하고, 브랜치에서 기능을 테스트하고, Lovable 외부에 배포하세요. GitLab Self-Managed를 사용하면 코드 사본을 조직의 자체 인프라 안에 보관할 수도 있습니다.
Git 동기화가 무엇인지, 양방향 동기화 모델이 여러 제공자에서 어떻게 작동하는지, GitHub와 GitLab 중 어떤 것을 선택할지 전체 그림은 Git 동기화 개요를 참고하세요.
Lovable을 사용하는 데 GitLab이 필요하지 않습니다. 많은 사용자가 Lovable 내에서 완전히 빌드하고 출시합니다. 코드 사본만 필요하다면 Lovable에서 직접 코드를 내려받을 수 있습니다. 코드 에디터를 열고 파일 트리 사이드바 하단의 Download codebase를 클릭하세요(유료 플랜).
GitLab Git 동기화 작동 방식
모든 Git 동기화와 마찬가지로 GitLab 통합에는 두 계층이 있습니다.
- 워크스페이스 연결
- 프로젝트 저장소 링크
워크스페이스 연결
워크스페이스 연결은 OAuth를 통해 Lovable이 GitLab 네임스페이스(개인 계정 또는 그룹)에 접근하도록 인가합니다. Lovable은 api 스코프를 요청하며, 이는 프로젝트 생성, 웹훅 구성, 브랜치 관리, Merge Request 열기에 필요합니다.
워크스페이스 연결은 워크스페이스 전체에서 공유되며 여러 프로젝트가 재사용할 수 있습니다.
워크스페이스에는 다음을 담을 수 있습니다.
- 여러 GitLab 연결
- 동일한 GitLab 계정 또는 인스턴스의 여러 그룹 네임스페이스
- 하나의 개인 계정 네임스페이스(워크스페이스는 개인 GitLab 계정을 하나만 담을 수 있으며 그룹은 개수 제한 없음)
- 두 GitLab 연결 유형 모두(GitLab.com과 Self-Managed)
프로젝트 저장소 링크
프로젝트 저장소 링크는 하나의 Lovable 프로젝트를 하나의 GitLab 저장소에 연결합니다.
연결되면
- Lovable에서 한 변경이 GitLab에 동기화됩니다
- 활성 GitLab 브랜치에 푸시된 변경이 Lovable로 다시 동기화됩니다
- Lovable은 한 번에 하나의 브랜치만 편집하고 동기화합니다
GitLab Git 동기화 연결 유형
Lovable은 두 가지 GitLab 연결 유형을 지원합니다.
- GitLab.com
GitLab Inc.가 관리하는 호스팅 서비스. GitLab.com 계정으로 Lovable을 인가합니다. - GitLab Self-Managed
조직이 자체 서버에서 운영하는 GitLab 인스턴스. 인스턴스에 OAuth 애플리케이션을 만들어 자격 증명을 직접 관리하고 Lovable의 IP 범위를 허용 목록에 추가합니다.
새 연결을 추가할 때 설정할 유형을 선택합니다. 두 유형 모두 Lovable과 GitLab 저장소 간의 동일한 양방향 동기화, 브랜치 작업, Merge Request 생성을 지원합니다.
GitLab 통합의 역할 기반 접근 권한
| 역할 | 허용된 작업 |
|---|---|
| 워크스페이스 소유자 또는 관리자만 |
|
|
|
|
|
| 외부 협업자를 포함한 모든 워크스페이스 멤버 | Workspace settings → Git → GitLab에서 연결 보기(읽기 전용 모드) |
워크스페이스 GitLab 연결 만들기
워크스페이스 관리자와 소유자는 다음에서 워크스페이스 연결을 만들 수 있습니다.
- Workspace settings → Git → GitLab → Add connection
- Project settings → Git → GitLab → Add connection(프로젝트가 아직 연결되지 않은 경우)
새 연결을 설정하려면 연결 유형에 맞는 단계를 따르세요.
GitLab.com은 GitLab Inc.가 관리하는 호스팅 서비스입니다. GitLab 계정이 필요합니다. gitlab.com에서 무료로 만들 수 있습니다.
새 연결 추가
Add connection을 클릭하고 GitLab.com을 선택합니다.
GitLab 계정 인가
GitLab의 인가 페이지로 팝업이 열립니다. 로그인하고 Lovable을 인가하여 GitLab 계정에 접근을 허용합니다.
Lovable은 api 스코프를 요청하며, 이는 프로젝트 생성, 웹훅 구성, 브랜치 관리, Merge Request 열기에 필요합니다.
네임스페이스 선택
프로젝트 저장소가 위치할 곳을 선택합니다.
- 개인 계정 또는 GitLab 그룹 중 하나를 선택합니다.
- 사용하려는 네임스페이스 옆의 Connect를 클릭합니다.
동일한 GitLab 계정에서 여러 그룹 네임스페이스와 개인 계정을 함께 연결할 수 있습니다.
동일한 개인 계정 또는 그룹을 두 번 이상 연결할 수 없으며 워크스페이스는 개인 계정 연결을 하나만 담을 수 있습니다.
GitLab Self-Managed는 자체 GitLab 서버를 운영하고 코드를 내부 인프라 내에 보관해야 하는 조직을 위한 것입니다.
이 설정에는 다음이 필요합니다.
- OAuth 애플리케이션을 생성할 수 있는 GitLab 인스턴스 관리자 접근 권한
- Lovable의 공용 IP 범위에서의 네트워크 접근
새 연결 추가
Add connection을 클릭하고 GitLab Self-Managed를 선택합니다.
Lovable의 IP 범위 허용
Lovable이 코드를 동기화하고 웹훅 이벤트를 수신하려면 GitLab 인스턴스에 접근해야 합니다. 설정 마법사에 인스턴스가 방화벽으로 보호되는 경우 허용 목록에 추가해야 하는 IP 범위가 표시됩니다. 각 범위를 복사하여 네트워크 방화벽 또는 GitLab의 IP 허용 목록 설정에 추가하세요.
GitLab 인스턴스에서 OAuth 애플리케이션 생성
GitLab 인스턴스에서 Admin Area → Applications(또는 사용자 수준 앱의 경우 Settings → Applications)로 이동하여 새 애플리케이션을 생성합니다.
- Name: Lovable(또는 설명이 포함된 이름)
- Redirect URI: Lovable 설정 마법사에 표시된 URI를 사용합니다(예:
https://lovable.dev/gitlab/callback) - Scopes:
api - Confidential: Yes
애플리케이션을 저장하고 Application ID와 Secret을 기록합니다.
Application Secret을 기밀로 유지하세요. 이 시크릿은 사용자를 대신하여 GitLab 인스턴스에 접근할 수 있는 권한을 부여합니다.
Lovable에서 연결 구성
Lovable 설정 마법사로 돌아가서 다음을 입력합니다.
- GitLab URL: 인스턴스 URL(예:
https://gitlab.yourcompany.com) - Application ID: 생성한 OAuth 앱의 클라이언트 ID
- Application secret: OAuth 앱의 클라이언트 시크릿
- Group path (선택 사항): 특정 그룹에 접근을 제한하려면 그룹 경로를 입력합니다(예:
my-org/my-team)
Continue를 클릭합니다.
GitLab 계정 인가
셀프 매니지드 GitLab 인스턴스의 인가 페이지로 팝업이 열립니다. 로그인하고 Lovable을 인가합니다. Lovable은 api 스코프를 요청합니다.
네임스페이스 선택
인스턴스 내에서 개인 계정 또는 GitLab 그룹 중 하나를 선택한 다음 Connect를 클릭합니다.
프로젝트를 GitLab 저장소에 연결하기
활성 워크스페이스 GitLab 연결이 있으면 워크스페이스 또는 프로젝트 관리자와 소유자가 Lovable 프로젝트를 GitLab 저장소에 연결할 수 있습니다.
- 프로젝트를 연결하면 새 GitLab 저장소가 생성됩니다. 저장소는 기본적으로 비공개이므로 GitLab에서 공개 범위를 바꾸지 않는 한 누구도 코드를 볼 수 없습니다.
- 각 Lovable 프로젝트는 하나의 저장소에 연결할 수 있습니다.
프로젝트의 GitLab 설정 열기
Project settings → Git → GitLab을 엽니다.
프로젝트 연결
Connect project 아래에서 새 저장소를 생성할 네임스페이스(개인 계정 또는 그룹) 옆의 Connect를 클릭합니다.
Lovable이 새 GitLab 저장소를 만들고 양방향 동기화를 자동으로 시작합니다.
연결 후 GitLab 프로젝트의 이름을 바꾸거나, 이동하거나, 삭제하지 말고, 그것이 속한 GitLab 사용자 이름이나 그룹의 이름도 바꾸지 마세요. 그렇게 하면 동기화가 중단되고 Lovable이 프로젝트를 업데이트할 수 없게 됩니다.
프로젝트 저장소 동기화 관리
프로젝트를 GitLab 저장소에 연결한 뒤 프로젝트의 GitLab 설정에서 다음을 볼 수 있습니다.
- 저장소 상태 Connected
- 활성 브랜치 이름이 표시된 브랜치 선택기(Lovable과 동기화된 GitLab 브랜치)
- Clone URL(HTTPS, SSH)
- View on GitLab 옵션(드롭다운에서 사용 가능)
- Disconnect 옵션(드롭다운에서 사용 가능)
Lovable은 한 번에 하나의 브랜치만 편집하고 동기화합니다. 기본값은 저장소의 기본 브랜치(보통 main)입니다. 현재 활성 브랜치에 푸시된 변경이 Lovable로 다시 동기화됩니다.
브랜치 전환
- 브랜치 선택기를 클릭합니다.
- 브랜치를 검색하거나 선택합니다.
- 브랜치를 클릭하여 전환합니다.
Lovable이 전환한 브랜치를 즉시 편집하고 동기화하기 시작합니다.
언제든지 기본 브랜치로 다시 전환할 수 있습니다.
새 브랜치 만들기
- 브랜치 선택기를 클릭합니다.
- 목록 하단의 + Create branch를 클릭합니다.
- 브랜치 이름을 입력합니다. Lovable이 빈 이름, 유효하지 않은 문자, 중복 여부를 검증합니다.
브랜치 이름은 Git 명명 규칙을 따라야 합니다(공백, .., 앞뒤 점이나 대시, 그리고 ~ ^ : ? * [ ] \ 같은 특수 문자 금지).
새 브랜치는 현재 활성 브랜치를 소스로 하여 생성됩니다(대화상자에 Source: <active branch>로 표시). Lovable이 자동으로 새 브랜치로 전환하여 편집과 동기화를 시작합니다.
소스는 저장소의 기본 브랜치가 아니라 현재 활성 브랜치입니다. main에서 새 기능 브랜치를 시작하려면 먼저 main으로 전환한 뒤 새 브랜치를 만드세요.
Lovable이 프로젝트를 편집하는 동안에는 브랜치를 전환하거나 새 브랜치를 만들 수 없습니다.
저장소 로컬 clone
프로젝트를 연결한 뒤 Lovable은 다음에 대한 clone URL을 제공합니다.
- HTTPS
- SSH
저장소를 로컬로 clone하여 선호하는 IDE에서 계속 작업할 수 있습니다.
Commit 저작자 표시
Lovable이 만드는 commit은 워크스페이스 연결을 인가한 GitLab 계정을 통해 푸시되므로 GitLab이 해당 사용자에게 push를 귀속합니다. (Lovable GitHub 앱과 달리) 별도의 봇 신원은 없습니다.
GitLab에서 프로젝트 연결 해제
연결을 해제하면 Lovable 프로젝트와 GitLab 저장소 간의 동기화 관계가 제거됩니다.
연결을 해제하면
- 동기화 중지. Lovable과 GitLab 간의 양방향 연결이 종료됩니다.
- 저장소는 GitLab에 유지. 모든 기록과 파일이 그대로 유지됩니다.
- 프로젝트와 코드는 Lovable에 유지. 향후 변경 사항은 Lovable 내에만 저장됩니다.
프로젝트 연결을 해제해도 워크스페이스 연결 자체는 제거되지 않습니다.
워크스페이스 또는 프로젝트 관리자와 소유자는 프로젝트의 GitLab 설정에서 연결을 해제할 수 있습니다. 활성 저장소 연결에서 드롭다운을 열고 Disconnect를 선택한 뒤 확인합니다.
프로젝트에 다시 GitLab이 필요하면 사용 가능한 연결에 링크할 수 있습니다. 나중에 다시 연결하면
- Lovable이 현재 버전의 프로젝트로 새 저장소를 만듭니다.
- 원래 저장소는 GitLab에 그대로 남아 있으며 더 이상 Lovable에 연결되지 않습니다.
워크스페이스 GitLab 연결에서 프로젝트 연결 해제
워크스페이스 관리자와 소유자는 연결 전체를 삭제하지 않고 연결에서 특정 프로젝트를 제거할 수 있습니다. 연결은 다른 프로젝트에서 계속 사용할 수 있습니다.
GitLab 설정 열기
Workspace settings → Git → GitLab을 엽니다.
연결 열기
관리할 연결을 엽니다.
프로젝트 선택
Linked projects 아래에서 연결을 해제할 프로젝트를 체크합니다.
확인
- Unlink N projects(
N은 선택한 프로젝트 수)를 클릭합니다 - Unlink를 클릭하여 확인합니다
연결이 해제되면 해당 프로젝트는 이 연결을 통해 더 이상 동기화되지 않습니다.
워크스페이스 GitLab 연결 삭제
워크스페이스 관리자와 소유자는 GitLab 연결을 삭제할 수 있습니다.
워크스페이스 GitLab 연결을 삭제하면
- 모든 프로젝트에서 연결이 제거됩니다
- 링크된 프로젝트의 동기화가 중지됩니다
- GitLab의 저장소는 삭제되지 않습니다
- 저장된 자격 증명이 삭제됩니다
연결 삭제는 영구적이며 되돌릴 수 없습니다. 이 연결을 사용하는 프로젝트는 새 연결이 추가되고 재연결될 때까지 동기화가 중지됩니다.
GitLab 설정 열기
Workspace settings → Git → GitLab을 엽니다.
제거할 연결 열기
목록에서 연결을 선택합니다.
링크된 프로젝트 검토
GitLab 동기화를 실수로 제거하지 않도록 연결을 삭제하기 전에 Linked projects 섹션을 신중히 검토합니다.
삭제
Delete this connection 아래에서 Delete를 클릭하고 확인합니다.
제한 사항
GitLab Git 동기화 통합은 현재 다음을 지원하지 않습니다.
- 기존 GitLab 저장소를 Lovable로 가져오기. Lovable에서 GitLab으로만 내보낼 수 있습니다.
- 연결 해제 후 동일한 저장소에 다시 연결. 다시 연결 시 새 저장소가 생성됩니다.
- 동일한 개인 계정 또는 그룹을 두 번 이상 연결하거나 워크스페이스당 개인 GitLab 계정을 두 개 이상 연결.
- 저장소 이름 변경이나 이동을 자동으로 따라가기. GitHub와 달리 GitLab 프로젝트의 이름을 바꾸거나 이동하면 동기화가 중단됩니다.