프로젝트 통합
GitLab v19.5Offering: 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 요청을 전송합니다.
웹훅을 사용하는 통합 목록은 사용 가능한 통합을 참고합니다.
푸시 훅 제한#
단일 푸시에 브랜치나 태그 세 개를 초과하는 변경이 포함되면 push_hooks와 tag_push_hooks
이벤트로 지원되는 통합은 실행되지 않습니다.
지원되는 브랜치나 태그 수를 변경하려면
push_event_hooks_limit 설정을 구성합니다.
SSL 확인#
기본적으로 발신 HTTP 요청의 SSL 인증서는 내부 인증 기관 목록을 기준으로 검증됩니다. SSL 인증서는 자체 서명된 것이면 안 됩니다.
웹훅과 일부 통합을 구성할 때는 SSL 확인을 비활성화할 수 있습니다.