GitLab for Jira Cloud 앱 관리
GitLab v19.5Offering: GitLab Self-Managed
요약
사용자 문서는 GitLab for Jira Cloud 앱을 참고합니다. GitLab for Jira Cloud 앱을 사용하면 GitLab과 Jira Cloud를 연결해 개발 정보를 실시간으로 동기화할 수 있습니다. GitLab Self-Managed 인스턴스에 GitLab for Jira Cloud 앱을 설정하려면 다음 중 하나를 수행합니다.
사용자 문서는 GitLab for Jira Cloud 앱을 참고합니다.
GitLab for Jira Cloud 앱을 사용하면 GitLab과 Jira Cloud를 연결해 개발 정보를 실시간으로 동기화할 수 있습니다. 이 정보는 Jira 개발 패널에서 확인할 수 있습니다.
GitLab Self-Managed 인스턴스에 GitLab for Jira Cloud 앱을 설정하려면 다음 중 하나를 수행합니다.
개요는 다음을 참고합니다.
- GitLab Self-Managed 인스턴스에 Atlassian Marketplace에서 GitLab for Jira Cloud 앱 설치하기
- GitLab Self-Managed 인스턴스에 GitLab for Jira Cloud 앱 수동으로 설치하기(Forge 앱)
위 동영상은 이전 Universal Plugin Manager 인터페이스를 보여 주며, 이 인터페이스는 최신 Jira Cloud 인스턴스에서는 사용할 수 없을 수 있습니다. 다음 지침은 이전 앱 관리 인터페이스와 새 앱 관리 인터페이스를 모두 다룹니다.
Atlassian Marketplace에서 GitLab for Jira Cloud 앱을 설치하면 Atlassian 이 개발하고 유지 관리하는 프로젝트 도구 체인을 사용해 GitLab 리포지터리를 Jira 프로젝트에 연결할 수 있습니다. 프로젝트 도구 체인은 GitLab과 Jira Cloud 사이에서 개발 정보가 동기화되는 방식에는 영향을 주지 않습니다.
Jira Data Center 또는 Jira Server에서는 Atlassian 이 개발하고 유지 관리하는 Jira DVCS 커넥터를 사용합니다.
OAuth 인증 설정#
GitLab for Jira Cloud 앱을 Atlassian Marketplace 에서 설치하든 수동으로 설치하든 OAuth 애플리케이션을 만들어야 합니다.
사전 요구 사항:
- 관리자 액세스 권한.
GitLab Self-Managed 인스턴스에서 OAuth 애플리케이션을 만들려면 다음 단계를 수행합니다.
-
오른쪽 상단에서 Admin을 선택합니다.
-
왼쪽 사이드바에서 Applications를 선택합니다.
-
New application을 선택합니다.
-
Redirect URI에서 다음과 같이 입력합니다.
- Atlassian Marketplace 목록에서 앱을 설치하는 경우
https://gitlab.com/-/jira_connect/oauth_callbacks를 입력합니다. - 앱을 수동으로 설치하는 경우
<instance_url>/-/jira_connect/oauth_callbacks를 입력하고<instance_url>을 인스턴스의 URL로 바꿉니다.
- Atlassian Marketplace 목록에서 앱을 설치하는 경우
-
Trusted와 Confidential 체크박스를 선택 해제합니다.
[!note] 로그인 오류를 방지하려면 이 체크박스를 선택 해제해야 합니다.
-
Scopes에서
api체크박스만 선택합니다. -
Save application을 선택합니다.
-
Application ID 값을 복사합니다.
-
왼쪽 사이드바에서 Settings > General을 선택합니다.
-
GitLab for Jira App을 확장합니다.
-
Application ID 값을 Jira Connect Application ID에 붙여 넣습니다.
-
Save changes를 선택합니다.
Jira 사용자 요구 사항#
Atlassian 조직에서 GitLab for Jira Cloud 앱을 설정하는 데 사용하는 Jira 사용자가 다음 중 하나에 속해 있는지 확인해야 합니다.
- Organization Administrators(
org-admins) 그룹. 최신 Atlassian 조직은org-admins그룹이 포함된 중앙 집중식 사용자 관리를 사용합니다. 기존 Atlassian 조직은 중앙 집중식 사용자 관리로 마이그레이션되고 있습니다. 가능하다면org-admins그룹으로 GitLab for Jira Cloud 앱을 관리할 수 있는 Jira 사용자를 지정해야 합니다. 또는site-admins그룹을 사용할 수 있습니다. - Site Administrators(
site-admins) 그룹.site-admins그룹은 기존 사용자 관리에서 사용했습니다.
필요한 경우 다음 단계를 수행합니다.
- 사용할 그룹을 만듭니다.
- 그룹을 편집해 Jira 사용자를 그룹 구성원으로 추가합니다.
- Jira에서 전역 권한을 사용자 지정했다면 Jira 사용자에게
Browse users and groups권한을 부여해야 할 수도 있습니다.
Atlassian Marketplace에서 GitLab for Jira Cloud 앱 설치#
GitLab Self-Managed 인스턴스에서 Atlassian Marketplace의 공식 GitLab for Jira Cloud 앱을 사용할 수 있습니다.
이 방법에서는 다음과 같이 동작합니다.
- GitLab.com 이 Jira Cloud에서 보낸 설치 및 제거 라이프사이클 이벤트를 처리해 GitLab 인스턴스로 전달합니다. GitLab Self-Managed 인스턴스의 모든 데이터는 여전히 Jira Cloud로 직접 전송됩니다.
- GitLab.com 이 브랜치 생성 링크를 처리해 인스턴스로 리디렉션합니다.
- GitLab 17.2 이전 버전에서는 GitLab Self-Managed 인스턴스에서 Jira Cloud를 통해 브랜치를 만들 수 없습니다. 자세한 내용은 이슈 391432를 참고합니다.
또는 다음과 같은 경우 GitLab for Jira Cloud 앱을 수동으로 설치할 수 있습니다.
- 인스턴스가 사전 요구 사항을 충족하지 않는 경우.
- 공식 Atlassian Marketplace 목록을 사용하지 않으려는 경우.
- GitLab.com 이 앱 라이프사이클 이벤트를 처리하거나 인스턴스에 앱이 설치된 사실을 알게 되는 것을 원하지 않는 경우.
- GitLab.com 이 브랜치 생성 링크를 인스턴스로 리디렉션하는 것을 원하지 않는 경우.
사전 요구 사항#
- 인스턴스가 공개적으로 접근 가능해야 합니다.
- 인스턴스가 GitLab 15.7 이상 버전이어야 합니다.
- OAuth 인증을 설정해야 합니다.
- GitLab 인스턴스가 HTTPS를 사용해야 하고, GitLab 인증서가 공개적으로 신뢰되거나 전체 체인 인증서를 포함해야 합니다.
- 네트워크 구성에서 다음을 허용해야 합니다.
- GitLab Self-Managed 인스턴스에서 Jira Cloud로 나가는 아웃바운드 연결(Atlassian IP 주소)
- GitLab Self-Managed 인스턴스와 GitLab.com 사이의 인바운드 및 아웃바운드 연결(GitLab.com IP 주소)
- 방화벽 뒤에 있는 인스턴스의 경우:
- GitLab Self-Managed 인스턴스 앞에 인터넷에서 접근 가능한 역방향 프록시를 설정합니다.
- GitLab.com에서 들어오는 인바운드 연결을 허용하도록 역방향 프록시를 구성합니다(GitLab.com IP 주소)
- GitLab Self-Managed 인스턴스가 앞서 설명한 아웃바운드 연결을 계속 수행할 수 있는지 확인합니다.
- 앱을 설치하고 구성하는 Jira 사용자가 특정 요구 사항을 충족해야 합니다.
Atlassian Marketplace 설치를 위한 인스턴스 설정#
Atlassian Marketplace 설치를 위해 GitLab Self-Managed 인스턴스를 설정하려면 다음 단계를 수행합니다.
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- GitLab for Jira App을 확장합니다.
- Atlassian Marketplace에서 앱을 설치하려면 Jira Connect Proxy URL에
https://gitlab.com을 입력합니다. - Save changes를 선택합니다.
인스턴스 연결#
GitLab Self-Managed 인스턴스를 GitLab for Jira Cloud 앱에 연결하려면 다음 단계를 수행합니다.
- GitLab for Jira Cloud 앱을 설치합니다.
- GitLab for Jira Cloud 앱을 구성합니다.
- 선택 사항. Jira Cloud가 연결되었는지 확인합니다.
Jira Cloud가 연결되었는지 확인#
Rails 콘솔을 사용해 Jira Cloud가 다음 대상에 연결되어 있는지 확인할 수 있습니다.
-
특정 그룹:
JiraConnectSubscription.where(namespace: Namespace.by_path('group/subgroup')) -
특정 프로젝트:
Project.find_by_full_path('path/to/project').jira_subscription_exists? -
모든 그룹:
installation = JiraConnectInstallation.find_by_base_url("https://customer_name.atlassian.net") installation.subscriptions
GitLab for Jira Cloud 앱 수동 설치#
히스토리
- Connect 기반 수동 설치 방법이 GitLab 19.0에서 제거되었습니다.
이전 수동 설치 방법은 Atlassian Connect 개발 모드에 의존했습니다. Atlassian은 2026-03-31에 Connect 기반 비공개 설치를 비활성화했습니다. 이전에 App descriptor URL 워크플로로 앱을 수동으로 설치했다면 이 섹션에 설명된 Forge 기반 설치로 마이그레이션합니다.
공식 Atlassian Marketplace 목록을 사용할 수 없는 경우 GitLab for Jira Cloud 앱을 수동으로 설치합니다. 예를 들어 다음과 같은 경우입니다.
- 인스턴스가 Marketplace 사전 요구 사항을 충족하지 않는 경우.
- GitLab.com 이 앱 라이프사이클 이벤트를 처리하거나 인스턴스에 앱이 설치된 사실을 알게 되는 것을 원하지 않는 경우.
- GitLab.com 이 브랜치 생성 링크를 인스턴스로 리디렉션하는 것을 원하지 않는 경우.
수동 설치 방법은 이제 Atlassian Forge를 기반으로 합니다. 자체 Atlassian 개발자 계정으로 GitLab for Jira Cloud Forge 앱의 비공개 사본을 게시하고, 이 사본이 GitLab Self-Managed 또는 GitLab Dedicated 인스턴스를 가리키게 합니다.
사전 요구 사항#
- 인스턴스가 공개적으로 신뢰되는 인증서와 함께 HTTPS로 공개적으로 접근 가능해야 합니다.
- OAuth 인증을 설정해야 합니다.
- 네트워크 구성에서 다음을 허용해야 합니다.
- Jira Cloud에서
<instance_url>/-/jira_connect로 들어오는 인바운드 HTTPS 연결(Atlassian IP 주소). - 개발 데이터를 Jira로 푸시하기 위해 GitLab 인스턴스에서
*.atlassian.net으로 나가는 아웃바운드 HTTPS 연결. - 방화벽 뒤에 있는 인스턴스의 경우:
- GitLab Self-Managed 인스턴스 앞에 인터넷에서 접근 가능한 역방향 프록시를 설정합니다.
- Jira Cloud에서 들어오는 인바운드 연결을 허용하도록 역방향 프록시를 구성합니다.
- GitLab Self-Managed 인스턴스가 앞서 설명한 아웃바운드 연결을 계속 수행할 수 있는지 확인합니다.
- Jira Cloud에서
- 오프라인 환경의 인스턴스는 이 통합을 사용할 수 없습니다. 개발 패널과 그 밖의 Jira 측 화면에는
*.atlassian.net으로 나가는 아웃바운드 경로가 필요합니다. - 앱을 설치하고 구성하는 Jira 사용자가 특정 요구 사항을 충족해야 합니다.
- Atlassian 개발자 계정과 Forge CLI 용 Atlassian API 토큰.
- Node.js 22 LTS, Forge CLI,
envsubst,git,curl이 설치된 머신.
수동 설치를 위한 인스턴스 설정#
수동 설치를 위해 GitLab Self-Managed 인스턴스를 설정하려면 다음 단계를 수행합니다.
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- GitLab for Jira App을 확장합니다.
- 앱을 수동으로 설치하려면 Jira Connect Proxy URL을 비워 둡니다.
- Save changes를 선택합니다.
비공개 Forge 앱 게시#
GitLab for Jira Cloud Forge 앱의 비공개 사본을 게시하고 Jira 사이트에 설치하려면 다음 단계를 수행합니다.
-
gitlab-jira-forge리포지터리를 클론합니다.git clone --depth 1 https://gitlab.com/gitlab-org/gitlab-jira-forge.git cd gitlab-jira-forge -
필요한 환경 변수를 내보냅니다. 예시 값은 GitLab 인스턴스 URL, Jira 사이트, Atlassian 자격 증명으로 바꿉니다.
export GITLAB_URL=https://gitlab.example.com export JIRA_SITE=acme.atlassian.net export FORGE_EMAIL=admin@example.com export FORGE_API_TOKEN=<your-atlassian-api-token> -
래퍼 스크립트를 실행해 앱을 등록, 배포, 설치합니다.
./scripts/install-self-managed.sh래퍼는 다음을 수행합니다.
- 필요한 도구와 변수를 확인합니다.
- 처음 사용할 때
forge register를 실행해 Atlassian 계정에 Forge 앱을 만듭니다. - 템플릿에서
manifest.yml을 생성하며,GITLAB_URL에 고정합니다. forge deploy -e production을 실행합니다.forge install --site $JIRA_SITE --product jira를 실행합니다.
스크립트는 등록된
APP_ID를.env.self-managed에 캐시합니다. 이 파일을 백업합니다. 파일을 잃어버리면 앱을 다시 등록해야 하며, 그러면 설치된 모든 Jira 사이트가 앱을 다시 설치해야 합니다.
단계별 지침, 수동 forge 명령, 문제 해결, 업그레이드 워크플로는 gitlab-jira-forge 리포지터리의
GitLab Self-Managed 설치 가이드를
참고합니다.
앱을 등록한 뒤에는 들어오는 Forge 토큰이 검증되도록 GitLab에서 Forge 앱 ID를 설정합니다.
.env.self-managed에서APP_ID값(ari:cloud:ecosystem::app/<uuid>형식의 Atlassian Resource Identifier, 즉 ARI)을 복사합니다.- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- GitLab for Jira App을 확장합니다.
- Forge app ID에 ARI를 붙여 넣은 다음 Save changes를 선택합니다.
앱을 설치한 뒤에는 Jira에서 GitLab for Jira Cloud 앱을 구성해 GitLab 네임스페이스를 연결합니다.
수동으로 설치한 앱 업데이트#
업스트림 매니페스트 변경 사항을 비공개 Forge 앱에 반영하려면 --update와 함께 래퍼를 다시 실행합니다.
./scripts/install-self-managed.sh --update
스크립트는 로컬 클론을 빨리 감기하고 매니페스트를 다시 생성한 뒤 앱을 다시 배포합니다. 마이너 버전 업그레이드와 메이저 버전 업그레이드에 대한 자세한 내용은 GitLab Self-Managed 설치 가이드의 업그레이드를 참고합니다.
여러 GitLab 인스턴스 연결#
GitLab for Jira 앱으로 여러 GitLab 인스턴스를 하나의 Jira Cloud 인스턴스에 연결합니다. 설치 방법은 연결하려는 인스턴스에 따라 다릅니다.
사전 요구 사항:
- 인스턴스마다 별도의 OAuth 인증이 필요합니다.
- 각 설치 방법의 사전 요구 사항을 충족해야 합니다.
GitLab.com과 GitLab Self-Managed를 함께 쓰는 경우:
- GitLab.com에서는 Atlassian Marketplace 설치를 사용합니다.
- GitLab Self-Managed 인스턴스에서는 앱을 수동으로 설치합니다.
여러 GitLab Self-Managed 인스턴스를 쓰는 경우:
- 첫 번째 인스턴스에서는 Atlassian Marketplace 설치를 사용하거나 앱을 수동으로 설치합니다.
- 다른 인스턴스에서는 앱을 수동으로 설치합니다.
Jira Cloud는 설치마다 GitLab for Jira Cloud 앱을 하나씩 표시합니다.
조직당 하나의 GitLab 인스턴스만 공식 Atlassian Marketplace 목록을 사용할 수 있습니다.
프록시 역할을 하도록 GitLab 인스턴스 구성#
대부분의 사용자에게 이 구성은 필요하지 않습니다. 여러 인스턴스가 있는 Jira Cloud에서는 GitLab for Jira Cloud 앱으로 인스턴스를 각각 연결할 수 있습니다.
GitLab 인스턴스는 GitLab for Jira Cloud 앱을 통해 다른 GitLab 인스턴스의 프록시 역할을 할 수 있습니다. 여러 GitLab 인스턴스를 관리하지만 앱은 한 번만 수동으로 설치하려는 경우 프록시를 사용할 수 있습니다.
프록시 역할을 하도록 GitLab 인스턴스를 구성하려면 다음 단계를 수행합니다.
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- GitLab for Jira App을 확장합니다.
- Enable public key storage를 선택합니다.
- Save changes를 선택합니다.
- GitLab for Jira Cloud 앱을 수동으로 설치합니다.
프록시를 사용하는 다른 GitLab 인스턴스는 프록시 인스턴스를 가리키도록 다음 설정을 구성해야 합니다.
보안 고려 사항#
다음 보안 고려 사항은 앱 관리에 해당하는 내용입니다. 앱 사용과 관련된 고려 사항은 보안 고려 사항을 참고합니다.
앱 라이프사이클 이벤트의 GitLab.com 처리#
Atlassian Marketplace에서 GitLab for Jira Cloud 앱을 설치하면 GitLab.com 이 Jira 로부터 라이프사이클 이벤트를 받습니다. 이러한 이벤트는 앱이 Jira 프로젝트에 설치되거나 제거될 때로 한정됩니다.
설치 이벤트에서 GitLab.com은 Jira 로부터 시크릿 토큰을 받습니다.
GitLab.com은 Jira에서 들어오는 라이프사이클 이벤트를 나중에 검증하기 위해 이 토큰을 AES256-GCM으로 암호화해 저장합니다.
GitLab.com은 이어서 이 토큰을 GitLab Self-Managed 인스턴스로 전달해, 인스턴스가 같은 토큰으로 Jira에 대한 요청을 인증할 수 있게 합니다. GitLab Self-Managed 인스턴스도 GitLab for Jira Cloud 앱이 설치되거나 제거되었다는 알림을 받습니다.
GitLab Self-Managed 인스턴스에서 Jira 개발 패널로 데이터가 전송될 때, 데이터는 GitLab.com 이 아니라 GitLab Self-Managed 인스턴스에서 Jira로 직접 전송됩니다. GitLab.com은 Jira 프로젝트의 데이터에 액세스하는 데 이 토큰을 사용하지 않습니다. GitLab Self-Managed 인스턴스가 이 토큰으로 데이터에 액세스합니다.
GitLab.com 이 받는 라이프사이클 이벤트와 페이로드에 대한 자세한 내용은 Atlassian 문서를 참고합니다.
소스 코드 보기
sequenceDiagram
accTitle: Dataflow of the GitLab for Jira Cloud app installed from the Atlassian Marketplace
accDescr: How GitLab.com handles lifecycle events when the GitLab for Jira Cloud app was installed from the Atlassian Marketplace
participant Jira
participant Your instance
participant GitLab.com
Jira->>+GitLab.com: App install/uninstall event
GitLab.com->>-Your instance: App install/uninstall event
Your instance->>Jira: Your development data</code></pre></details></div>
브랜치 생성의 GitLab.com 처리#
Atlassian Marketplace에서 GitLab for Jira Cloud 앱을 설치한 경우
개발 패널에서 브랜치를 만드는 링크는
처음에 사용자를 GitLab.com으로 보냅니다.
Jira는 GitLab.com으로 JWT 토큰을 전송합니다. GitLab.com은 토큰을 검증한 다음 요청을 GitLab 인스턴스로 리디렉션해 처리합니다.
OAuth를 통한 GitLab 액세스#
GitLab은 Jira와 액세스 토큰을 공유하지 않습니다. 다만 사용자는 앱을 구성하려면 OAuth로 인증해야 합니다.
액세스 토큰은 Proof Key for Code Exchange(PKCE) OAuth 흐름으로 가져오며 클라이언트 측에만 저장됩니다.
OAuth 흐름을 시작하는 앱 프론트엔드는 Jira의 iframe을 통해 GitLab에서 로드되는 JavaScript 애플리케이션입니다.
OAuth 애플리케이션에는 API에 대한 완전한 읽기 및 쓰기 액세스를 부여하는 api 스코프가 있어야 합니다.
이 액세스에는 모든 그룹과 프로젝트, 컨테이너 레지스트리, 패키지 레지스트리가 포함됩니다.
다만 GitLab for Jira Cloud 앱은 이 액세스를 다음 용도로만 사용합니다.
- 연결할 그룹 표시.
- 그룹 연결.
OAuth를 통한 액세스는 사용자가 GitLab for Jira Cloud 앱을 구성하는 동안에만 필요합니다. 자세한 내용은 액세스 토큰 만료를 참고합니다.
역방향 프록시 사용#
가능하다면 GitLab Self-Managed 인스턴스 앞에 역방향 프록시를 두지 않는 것이 좋습니다.
대신 공용 IP 주소를 사용하고 방화벽으로 도메인을 보호하는 방안을 고려합니다.
인터넷에서 직접 접근할 수 없는 GitLab Self-Managed 인스턴스에서 GitLab for Jira Cloud 앱에
역방향 프록시를 반드시 사용해야 한다면 다음 사항을 유념합니다.
- Atlassian Marketplace에서 GitLab for Jira Cloud 앱을 설치할 때는
내부 GitLab FQDN과 역방향 프록시 FQDN에 모두 액세스할 수 있는 클라이언트를 사용합니다.
- GitLab for Jira Cloud 앱을 수동으로 설치할 때는
OAuth 인증을 설정하면서 Redirect URI에 역방향 프록시 FQDN을 사용합니다.
- 역방향 프록시는 설치 방법에 맞는 사전 요구 사항을 충족해야 합니다.
- Jira 개발 패널이 역방향 프록시 FQDN 대신
내부 GitLab FQDN 이나 GitLab.com으로 연결될 수 있습니다.
자세한 내용은 이슈 434085를 참고합니다.
- 공용 인터넷에서 역방향 프록시를 보호하려면
Atlassian IP 주소에서 들어오는 인바운드 트래픽만 허용합니다.
- 프록시에
rewrite 또는 sub_filter 지시문을 사용하는 경우, 프록시가
gitlab-jira-connect-${host} 앱 키를 다시 쓰거나 교체하지 않도록 합니다.
그렇지 않으면 Failed to link group 오류가 발생할 수 있습니다.
- Jira 개발 패널에서 Create branch를 선택하면
내부 GitLab FQDN 이 아니라 역방향 프록시 FQDN으로 리디렉션됩니다.
외부 NGINX#
이 서버 블록은 Jira Cloud와 함께 동작하는 GitLab 역방향 프록시를 구성하는 예입니다.
server {
listen *:80;
server_name gitlab.mycompany.com;
server_tokens off;
location /.well-known/acme-challenge/ {
root /var/www/;
}
location / {
return 301 https://gitlab.mycompany.com:443$request_uri;
}
}
server {
listen *:443 ssl;
server_tokens off;
server_name gitlab.mycompany.com;
ssl_certificate /etc/letsencrypt/live/gitlab.mycompany.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gitlab.mycompany.com/privkey.pem;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_session_timeout 1d;
access_log "/var/log/nginx/proxy_access.log";
error_log "/var/log/nginx/proxy_error.log";
location / {
proxy_pass https://gitlab.internal;
proxy_hide_header upgrade;
proxy_set_header Host gitlab.mycompany.com:443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
이 예시에서는 다음과 같이 합니다.
gitlab.mycompany.com을 역방향 프록시 FQDN으로,
gitlab.internal을 내부 GitLab FQDN으로 바꿉니다.
ssl_certificate와 ssl_certificate_key를 유효한 인증서로 설정합니다
(예시에서는 Certbot을 사용합니다).
- GitLab과 Jira Cloud가 정상적으로 연결되도록
Host 프록시 헤더를 역방향 프록시 FQDN으로 설정합니다.
역방향 프록시 FQDN은 Jira Cloud를 GitLab에 연결할 때만 사용해야 합니다.
GitLab 접속은 계속 내부 GitLab FQDN으로 해야 합니다.
역방향 프록시 FQDN으로 GitLab에 액세스하면 GitLab 이 예상대로 동작하지 않을 수 있습니다.
자세한 내용은 이슈 21319를 참고합니다.
추가 JWT 대상 설정#
히스토리
- GitLab 17.7에서 도입되었습니다.
GitLab 이 Jira 로부터 JWT 토큰을 받으면
JWT 대상을 확인해 토큰을 검증합니다.
기본적으로 대상은 내부 GitLab FQDN에서 파생됩니다.
일부 역방향 프록시 구성에서는 역방향 프록시 FQDN을
추가 JWT 대상으로 설정해야 할 수 있습니다.
추가 JWT 대상을 설정하려면 다음 단계를 수행합니다.
- 오른쪽 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > General을 선택합니다.
- GitLab for Jira App을 확장합니다.
- Jira Connect Additional Audience URL에 추가 대상을 입력합니다
(예:
https://gitlab.mycompany.com).
- Save changes를 선택합니다.