Jira Cloud 앱용 GitLab 개발 환경 설정
GitLab v19.1개발자는 GitLab for Jira Cloud 앱의 개발 환경을 설정하는 여러 가지 방법을 선택할 수 있습니다: Jira를 사용하는 전체 환경. Jira Connect 프록시를 사용하는 전체 환경. Jira 없이 사용하는 로컬 환경.
개발자는 GitLab for Jira Cloud 앱의 개발 환경을 설정하는 여러 가지 방법을 선택할 수 있습니다:
-
Jira를 사용하는 전체 환경. Jira와의 상호작용을 테스트해야 할 때 사용합니다.
-
Jira Connect 프록시를 사용하는 전체 환경. 여러 GitLab 인스턴스가 Jira Connect 프록시를 통해 Jira에 연결하는 것을 테스트해야 하거나, Jira Connect 프록시 자체의 변경 사항을 테스트할 때 사용합니다.
-
Jira 없이 사용하는 로컬 환경. Jira가 필요하지 않은 경우, 예를 들어 GitLab 프론트엔드를 테스트할 때 이 빠른 설정을 사용할 수 있습니다.
Jira를 사용하여 설정#
앱을 설치하려면 다음이 필요합니다:
-
Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.
-
인터넷을 통해 사용 가능한 GitLab 인스턴스. 앱이 작동하려면 Jira Cloud가 인터넷을 통해 GitLab 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 것을 권장합니다. GDK에서 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요:
GDK with Gitpod 문서.
- GDK in Gitpod 동영상.
GitLab 팀원은 Serveo나 ngrok과 같은 터널링 도구를 절대 사용해서는 안 됩니다. 이 도구들은 보안 위험이 있으며, GitLab 개발자 노트북에서 실행해서는 안 됩니다.
Jira는 앱 호스트에 대한 모든 연결이 SSL을 통해 이루어지도록 요구합니다. 직접 환경을 설정하는 경우 SSL과 적절한 인증서를 활성화하는 것을 잊지 마세요.
GitPod 설정#
Gitpod를 사용하는 경우 포트 3000을 공개로 설정해야 합니다.
Jira에 앱 설치#
Jira에 앱을 설치하려면:
-
Atlassian Marketplace에 없는 앱을 설치하기 위해 Jira 개발 모드를 활성화합니다:
Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
-
앱 관리 페이지 하단으로 스크롤하여 설정을 선택합니다.
-
개발 모드 활성화를 선택하고 적용을 선택합니다.
-
-
앱을 설치합니다:
Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
-
앱 업로드를 선택합니다.
-
이 URL에서 필드에 앱 디스크립터 링크를 제공합니다. 호스트와 포트는 GitLab 인스턴스를 가리켜야 합니다.
예를 들어:
https://xxxx.gitpod.io/-/jira_connect/app_descriptor.json -
업로드를 선택합니다.
-
설치가 성공하면 앱 관리 아래에 GitLab for Jira Cloud 앱이 표시됩니다. 또한 시작하기를 선택하여 GitLab 인스턴스에서 렌더링된 구성 페이지를 열 수 있습니다.
앱 디스크립터를 변경할 때마다 앱을 제거한 후 다시 설치해야 합니다.
-
설치가 완료되었습니다! 대화 상자가 열려 시작하기를 요청하면, 아직 시작하지 말고 대신 닫기를 선택합니다.
-
이제 OAuth 인증 플로우를 설정해야 합니다.
GitLab OAuth 인증 플로우 설정#
GitLab for Jira 사용자는 GitLab OAuth를 사용하여 GitLab으로 인증합니다.
이 단계를 수행하기 전에 먼저 Jira에 앱을 설치했는지 확인하세요. 그렇지 않으면 Jira에서 앱 설치가 실패합니다.
다음 단계는 GitLab OAuth 플로우를 테스트하기 위한 환경 설정을 설명합니다:
-
Gitpod 세션을 시작합니다.
-
GitLab 인스턴스에서 관리자 > 애플리케이션으로 이동합니다.
-
다음 설정으로 새 애플리케이션을 만듭니다:
이름:
GitLab for Jira-
Redirect URI:
YOUR_GITPOD_INSTANCE/-/jira_connect/oauth_callbacks -
Trusted: No
-
Confidential: No
-
Scopes:
api
-
-
Application ID 값을 복사합니다.
-
관리자 > 설정 > 일반으로 이동합니다.
-
GitLab for Jira 앱을 펼칩니다.
-
Application ID 값을 Jira Connect Application ID에 붙여넣습니다.
-
Jira Connect Proxy URL에
YOUR_GITPOD_INSTANCE(예:https://xxxx.gitpod.io)를 입력합니다. -
공개 키 저장 활성화: 선택하지 않은 상태로 둡니다.
-
변경 사항 저장을 선택합니다.
Jira에서 앱 설정#
이 단계를 수행하기 전에 먼저 OAuth를 설정했는지 확인하세요. 그렇지 않으면 이 단계가 실패합니다.
-
Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
-
사용자 설치 앱으로 스크롤하여 GitLab for Jira Cloud 앱을 찾아 펼칩니다.
-
시작하기를 선택합니다.
GitLab 인스턴스로 인증하고 그룹 연결을 시작할 수 있어야 합니다.
문제 해결#
앱 설치 실패#
앱 설치가 실패하면 데이터베이스에서 jira_connect_installations를 삭제해야 할 수 있습니다.
-
데이터베이스 콘솔을 엽니다.
-
TRUNCATE TABLE jira_connect_installations CASCADE;를 실행합니다.
파일에 액세스할 권한이 없음#
Gitpod를 사용할 때 Jira가 디스크립터 파일에 액세스할 수 없다는 오류가 발생하면 GitPod 포트를 공개로 설정해야 합니다.
Jira Connect 프록시 설정#
GitLab Self-Managed 인스턴스가 Atlassian Marketplace에서 GitLab for Jira 앱을 설치하면 인스턴스는 Jira Connect 프록시로 GitLab.com을 사용해야 합니다. Jira 라이프사이클 이벤트 처리 및 브랜치 생성과 같은 기능을 개발하거나 테스트해야 하는 경우 이 설정을 에뮬레이트할 수 있습니다.
개발용 Jira Connect 프록시를 설정하려면:
-
Jira Cloud 인스턴스. Atlassian은 개발 및 테스트용 무료 인스턴스를 제공합니다.
-
인터넷을 통해 사용 가능한 두 개의 GitLab 인스턴스.
하나는 Jira Connect 프록시(GitLab.com 시뮬레이션)로 사용
-
하나는 Jira Connect 프록시를 통해 Jira에 연결하는 GitLab 인스턴스로 사용
-
앱이 작동하려면 Jira Cloud가 인터넷을 통해 Jira Connect 프록시 인스턴스에 연결할 수 있어야 합니다. 이를 위해 Gitpod 또는 유사한 클라우드 개발 환경을 사용하는 것을 권장합니다. GDK에서 Gitpod를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요:
GDK with Gitpod 문서.
- GDK in Gitpod 동영상.
-
GitLab 팀원은 Serveo나 ngrok과 같은 터널링 도구를 절대 사용해서는 안 됩니다. 이 도구들은 보안 위험이 있으며, GitLab 개발자 노트북에서 실행해서는 안 됩니다.
Jira는 앱 호스트에 대한 모든 연결이 SSL을 통해 이루어지도록 요구합니다. 직접 환경을 설정하는 경우 SSL과 적절한 인증서를 활성화하는 것을 잊지 마세요.
GitPod 설정#
Gitpod를 사용하는 경우 포트 3000을 공개로 설정해야 합니다.
Jira Connect 프록시 인스턴스 설정#
-
Jira Connect 프록시 인스턴스에 대해 GDK with Gitpod 지침에 따라 새 Gitpod 워크스페이스를 시작합니다.
-
GitLab OAuth 인증 플로우 설정 섹션에 따라 Jira Connect 프록시에서 OAuth 인증을 설정합니다.
-
Jira Connect 프록시가 프록시로 동작하도록 구성합니다.
Jira에 GitLab for Jira Cloud 앱 설치#
Jira에 앱 설치 섹션을 따르되, 앱 디스크립터에는 Jira Connect 프록시 인스턴스의 URL을 사용합니다:
https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/app_descriptor.json
설치가 완료되었습니다! 대화 상자가 열리면 닫기를 선택합니다(시작하기는 아직 선택하지 마세요).
보조 GitLab 인스턴스 설정#
-
프록시 인스턴스와 동일한 GDK with Gitpod 지침에 따라 Gitpod를 사용하여 두 번째 GitLab 인스턴스를 설정합니다.
-
GitLab OAuth 인증 플로우 설정과 동일한 단계에 따라 이 인스턴스에서 OAuth 인증을 설정합니다. 단, 중요한 차이점이 있습니다:
Redirect URI를 설정할 때 이 보조 인스턴스가 아닌 Jira Connect 프록시 인스턴스의 URL을 사용합니다:
https://JIRA_CONNECT_PROXY_INSTANCE/-/jira_connect/oauth_callbacks -
이 GitLab 인스턴스가 프록시를 사용하도록 구성합니다:
관리자 > 설정 > 일반으로 이동합니다.
-
GitLab for Jira 앱을 펼칩니다.
-
Application ID 값을 Jira Connect Application ID에 붙여넣습니다.
-
Jira Connect Proxy URL에
JIRA_CONNECT_PROXY_INSTANCE(예:https://xxxx.gitpod.io)를 입력합니다. -
변경 사항 저장을 선택합니다.
-
Jira에서 설정 완료#
-
Jira에서 Jira 설정 > 앱 > 앱 관리로 이동합니다.
-
사용자 설치 앱으로 스크롤하여 GitLab for Jira Cloud 앱을 찾아 펼칩니다.
-
시작하기를 선택합니다.
-
앱을 보조 GitLab 인스턴스에 연결하려면 GitLab 버전 변경을 선택합니다.
-
모든 체크박스를 선택한 다음 다음을 선택합니다.
-
GitLab 인스턴스 URL에
GITLAB_INSTANCE(예:https://xxxx.gitpod.io)를 입력한 후 저장을 선택합니다. -
GitLab에 로그인을 선택합니다.
-
인가를 선택합니다. 이제 그룹 목록이 표시됩니다.
-
그룹 연결을 선택합니다.
-
그룹에 연결하려면 연결을 선택합니다.
Jira 없이 설정#
Jira 없이 테스트하려면 Jira connect 테스트 도구와 로컬 GDK를 사용할 수 있습니다.
-
Jira-connect-test-tool을 클론합니다:
git clone git@gitlab.com:gitlab-org/manage/integrations/jira-connect-test-tool.git. -
앱을 시작합니다:
bundle exec rackup. (앱은 GDK GitLab이http://127.0.0.1:3000에서 사용 가능해야 합니다.) -
config/gitlab.yml을 열고jira_connect구성의 주석을 해제합니다. -
localhost가 아닌 도메인에서 GDK를 실행하는 경우additional_iframe_ancestors에 해당 도메인을 추가해야 합니다. 예를 들어:additional_iframe_ancestors: ['localhost:*', '127.0.0.1:*', 'gdk.test:*'] -
GDK를 재시작합니다.
-
http://127.0.0.1:3000/-/user_settings/personal_access_tokens로 이동합니다. -
api범위로 새 토큰을 만들고 토큰을 복사합니다. -
http://localhost:9292로 이동합니다. -
토큰을 붙여넣고 GitLab.com Jira Cloud 앱 설치를 선택합니다.