프로젝트 통합
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 페이지에는 프로젝트 통합에 대한 사용자 문서가 포함되어 있습니다. 외부 애플리케이션과 통합하여 GitLab에 기능을 추가할 수 있습니다. 다음에 대한 통합을 보고 관리할 수 있습니다: 프로젝트 통합의 그룹 기본 설정을 관리하려면:
이 페이지에는 프로젝트 통합에 대한 사용자 문서가 포함되어 있습니다. 관리자 문서는 프로젝트 통합 관리를 참조하세요.
외부 애플리케이션과 통합하여 GitLab에 기능을 추가할 수 있습니다.
다음에 대한 통합을 보고 관리할 수 있습니다:
다음을 사용할 수 있습니다:
프로젝트 통합의 그룹 기본 설정 관리#
사전 요구사항:
- 그룹에 대한 Owner 권한이 있어야 합니다.
프로젝트 통합의 그룹 기본 설정을 관리하려면:
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- 통합을 선택합니다.
- 필드를 작성합니다.
- Save changes를 선택합니다.
이는 그룹에 속하는 모든 또는 대부분의 하위 그룹 및 프로젝트에 영향을 줄 수 있습니다. 아래 세부 사항을 검토하세요.
통합에 대한 그룹 설정을 처음으로 설정하는 경우:
- 그룹 설정에서 Enable integration 토글이 켜져 있으면, 이 통합이 아직 구성되지 않은 그룹에 속하는 모든 하위 그룹 및 프로젝트에 대해 통합이 활성화됩니다.
- 이미 통합이 구성된 하위 그룹 및 프로젝트는 영향을 받지 않지만 언제든지 상속된 설정을 사용하도록 선택할 수 있습니다.
그룹 기본값을 추가로 변경하는 경우:
- 기본 설정을 사용하도록 설정된 그룹에 속하는 모든 하위 그룹 및 프로젝트에 즉시 적용됩니다.
- 마지막으로 통합의 기본값을 저장한 후에 생성된 경우에도 더 새로운 하위 그룹 및 프로젝트에 즉시 적용됩니다. 그룹 기본 설정에 Enable integration 토글이 켜져 있으면 해당 모든 하위 그룹 및 프로젝트에 대해 통합이 자동으로 활성화됩니다.
- 통합에 대한 커스텀 설정을 선택한 하위 그룹 및 프로젝트는 즉시 영향을 받지 않으며 언제든지 최신 기본값을 사용하도록 선택할 수 있습니다.
동일한 통합에 대해 인스턴스 설정도 구성된 경우 그룹의 프로젝트는 그룹의 설정을 상속합니다.
통합의 전체 설정만 상속할 수 있습니다. 필드별 상속은 에픽 2137에서 제안됩니다.
그룹 기본 설정 제거#
사전 요구사항:
- 그룹에 대한 Owner 권한이 있어야 합니다.
그룹 기본 설정을 제거하려면:
- 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- 통합을 선택합니다.
- Reset을 선택하고 확인합니다.
그룹 기본 설정을 재설정하면 기본 설정을 사용하고 그룹의 프로젝트 또는 하위 그룹에 속하는 통합이 제거됩니다.
프로젝트 통합에 대한 인스턴스 또는 그룹 기본 설정 사용#
사전 요구사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
프로젝트 통합에 대한 인스턴스 또는 그룹 기본 설정을 사용하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- 통합을 선택합니다.
- 오른쪽의 드롭다운 목록에서 Use default settings를 선택합니다.
- Enable integration 아래에서 Active 체크박스가 선택되어 있는지 확인합니다.
- 필드를 작성합니다.
- Save changes를 선택합니다.
프로젝트 또는 그룹 통합에 대한 커스텀 설정 사용#
사전 요구사항:
- 프로젝트 통합에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
- 그룹 통합에 대한 Owner 권한이 있어야 합니다.
프로젝트 또는 그룹 통합에 대한 커스텀 설정을 사용하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트 또는 그룹을 찾습니다.
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- 통합을 선택합니다.
- 오른쪽의 드롭다운 목록에서 Use custom settings를 선택합니다.
- Enable integration 아래에서 Active 체크박스가 선택되어 있는지 확인합니다.
- 필드를 작성합니다.
- Save changes를 선택합니다.
사용 가능한 통합#
다음 통합은 GitLab 인스턴스에서 사용 가능합니다. 인스턴스 관리자가 통합 허용 목록을 구성한 경우 해당 통합만 사용 가능합니다.
CI/CD#
| 통합 | 설명 | 통합 훅 |
|---|---|---|
| Atlassian Bamboo | Atlassian Bamboo로 CI/CD 파이프라인을 실행합니다. | ✅ |
| Buildkite | Buildkite로 CI/CD 파이프라인을 실행합니다. | ✅ |
| Drone | Drone으로 CI/CD 파이프라인을 실행합니다. | ✅ |
| Jenkins | Jenkins로 CI/CD 파이프라인을 실행합니다. | ✅ |
| JetBrains TeamCity | TeamCity로 CI/CD 파이프라인을 실행합니다. | ✅ |
이벤트 알림#
이러한 통합에는 통합 훅이 없습니다.
| 통합 | 설명 |
|---|---|
| Campfire | 채팅을 위해 Campfire에 연결합니다. |
| Discord Notifications | 프로젝트 이벤트에 대한 알림을 Discord 채널로 전송합니다. |
| Google Chat | GitLab 프로젝트에서 Google Chat의 공간으로 알림을 전송합니다. |
| irker (IRC gateway) | IRC 채널로 이벤트 알림을 전송합니다. |
| Matrix notifications | 프로젝트 이벤트에 대한 알림을 Matrix로 전송합니다. |
| Mattermost notifications | 프로젝트 이벤트에 대한 알림을 Mattermost 채널로 전송합니다. |
| Microsoft Teams notifications | Microsoft Teams로 이벤트 알림을 전송합니다. |
| Pumble | Pumble 채널로 이벤트 알림을 전송합니다. |
| Pushover | 기기로 이벤트 알림을 전송합니다. |
| Telegram | 프로젝트 이벤트에 대한 알림을 Telegram으로 전송합니다. |
| Unify Circuit | 프로젝트 이벤트에 대한 알림을 Unify Circuit으로 전송합니다. |
| Webex Teams | Webex Teams로 이벤트 알림을 전송합니다. |
스토어#
| 통합 | 설명 | 통합 훅 |
|---|---|---|
| Apple App Store Connect | GitLab을 사용하여 Apple App Store에서 앱을 빌드하고 릴리스합니다. | ❌ |
| Google Play | GitLab을 사용하여 Google Play에서 앱을 빌드하고 릴리스합니다. | ❌ |
| Harbor | GitLab의 컨테이너 레지스트리로 Harbor를 사용합니다. | ❌ |
| Packagist | Packagist에서 PHP 의존성을 업데이트합니다. | ✅ |
외부 이슈 트래커#
다음 통합은 프로젝트의 왼쪽 사이드바에 외부 이슈 트래커 링크를 추가합니다. 이러한 통합에는 통합 훅이 없습니다.
| 통합 | 설명 | 이슈 동기화 | 새 이슈 생성 가능 |
|---|---|---|---|
| Bugzilla | Bugzilla를 이슈 트래커로 사용합니다. | ❌ | ✅ |
| ClickUp | ClickUp을 이슈 트래커로 사용합니다. | ❌ | ❌ |
| Custom issue tracker | 커스텀 이슈 트래커를 사용합니다. | ❌ | ❌ |
| Engineering Workflow Management (EWM) | EWM을 이슈 트래커로 사용합니다. | ❌ | ✅ |
| Linear | Linear를 이슈 트래커로 사용합니다. | ❌ | ❌ |
| Phorge | Phorge를 이슈 트래커로 사용합니다. | ❌ | ✅ |
| Redmine | Redmine을 이슈 트래커로 사용합니다. | ❌ | ✅ |
| YouTrack | JetBrains YouTrack을 프로젝트의 이슈 트래커로 사용합니다. | ✅ | ❌ |
외부 위키#
다음 통합은 프로젝트의 왼쪽 사이드바에 외부 위키 링크를 추가합니다. 이러한 통합에는 통합 훅이 없습니다.
| 통합 | 설명 |
|---|---|
| Confluence Workspace | Confluence Cloud Workspace를 내부 위키로 사용합니다. |
| External wiki | 외부 위키를 연결합니다. |
기타#
| 통합 | 설명 | 통합 훅 |
|---|---|---|
| Asana | Asana 작업에 커밋 메시지를 코멘트로 추가합니다. | ❌ |
| Assembla | Assembla로 프로젝트를 관리합니다. | ❌ |
| Beyond Identity | GPG 키가 Beyond Identity Authenticator에 의해 권한이 부여되었는지 확인합니다. | ❌ |
| Datadog | Datadog으로 GitLab 파이프라인을 추적합니다. | ✅ |
| Diffblue Cover | 포괄적인 인간적인 Java 단위 테스트를 자동으로 작성합니다. | ✅ |
| Emails on push | 푸시 시 이메일로 커밋과 diff를 전송합니다. | ❌ |
| GitGuardian | GitGuardian 정책을 기반으로 커밋을 거부합니다. | ❌ |
| GitHub | 커밋 및 풀 리퀘스트에 대한 상태를 수신합니다. | ❌ |
| GitLab for Slack app | 네이티브 Slack 앱을 사용하여 알림을 수신하고 명령을 실행합니다. | ❌ |
| Google Artifact Management | Google Artifact Registry에서 아티팩트를 관리합니다. | ❌ |
| Google Cloud IAM | Identity and Access Management(IAM)로 Google Cloud 리소스에 대한 권한을 관리합니다. | ❌ |
| Jira | Jira를 이슈 트래커로 사용합니다. | ❌ |
| Mattermost slash commands | Mattermost 채팅 환경에서 슬래시 명령을 실행합니다. | ❌ |
| Pipeline status emails | 이메일로 수신자 목록에 파이프라인 상태를 전송합니다. | ❌ |
| Pivotal Tracker | Pivotal Tracker 스토리에 커밋 메시지를 코멘트로 추가합니다. | ❌ |
| Squash TM | GitLab 이슈가 수정될 때 Squash TM 요구사항을 업데이트합니다. | ✅ |
프로젝트 웹훅#
일부 통합은 외부 애플리케이션을 위해 웹훅을 사용합니다.
특정 이벤트(예: 푸시, 이슈, 머지 리퀘스트)를 수신하기 위해 프로젝트 웹훅을 구성할 수 있습니다. 웹훅이 트리거되면 GitLab은 지정된 웹훅 URL로 POST 요청과 데이터를 전송합니다.
웹훅을 사용하는 통합 목록은 사용 가능한 통합을 참조하세요.
푸시 훅 제한#
단일 푸시에 3개 이상의 브랜치 또는 태그에 대한 변경이 포함된 경우 push_hooks 및 tag_push_hooks 이벤트에서 지원되는 통합은 실행되지 않습니다.
지원되는 브랜치 또는 태그의 수를 변경하려면
push_event_hooks_limit 설정을 구성합니다.
SSL 확인#
기본적으로 발신 HTTP 요청에 대한 SSL 인증서는 내부 인증 기관 목록을 기반으로 확인됩니다. SSL 인증서는 자체 서명될 수 없습니다.
웹훅과 일부 통합을 구성할 때 SSL 확인을 비활성화할 수 있습니다.
