GitHub Enterprise Server에 대한 GitHub Apps 개발 정보
GitHub App을(를) 사용자가 속하지 않은 GitHub Enterprise Server 인스턴스의 조직에서 사용할 수 있도록 하려면 다음 단계를 수행해야 합니다.
GitHub Enterprise Server 액세스가 중요한 경우 대신 GitHub Actions에 대한 사용자 지정 작업이 요구 사항에 적합한지 여부를 고려합니다. 공개 작업은 GitHub Connect을(를) 사용하는 GitHub Enterprise Server 인스턴스에서 사용할 수 있습니다. 자세한 내용은 GitHub Enterprise Server 설명서의 "GitHub Connect를 사용하여 GitHub.com 작업에 자동 액세스 사용"을(를) 참조하세요.
각 GitHub Enterprise Server 인스턴스는 자체 GitHub App을(를) 등록해야 합니다.
GitHub Enterprise Server 인스턴스가 소유한 조직은 GitHub.com 또는 다른 GitHub Enterprise Server 인스턴스에 등록된 GitHub Apps을(를) 설치할 수 없습니다. 대신 해당 인스턴스에서 사용하려면 자체 GitHub App을(를) 등록하고 설치해야 합니다.
-
앱 개발자는 매니페스트 또는 URL 매개 변수를 만듭니다. 자세한 내용은 "매니페스트에서 GitHub 앱 등록" 및 "URL 매개 변수를 사용하여 GitHub 앱 등록"을(를) 참조하세요.
-
앱 개발자는 앱을 사용하려는 GitHub Enterprise Server 관리자와 매니페스트 또는 URL 매개 변수를 공유합니다. 동일한 매니페스트 또는 URL 매개 변수를 여러 GitHub Enterprise Server 인스턴스와 공유할 수 있습니다.
-
인스턴스의 조직 소유자는 매니페스트 또는 URL 매개 변수를 사용하여 GitHub App을(를) 등록합니다.
-
조직은 등록한 GitHub App을(를) 설치합니다.
필요에 따라 조직에서 GitHub App을(를) 공개로 설정한 경우 인스턴스 내의 다른 조직도 GitHub App을(를) 설치할 수 있습니다. 전체 인스턴스에 GitHub App을(를) 설치할 수 있는 방법은 없으며 인스턴스 내의 조직에서만 설치할 수 있습니다.
앱 코드는 인스턴스에 대한 GitHub App 자격 증명에 액세스할 수 있어야 합니다.
앱의 코드에는 GitHub Enterprise Server 인스턴스가 등록된 GitHub App의 자격 증명이 필요합니다. 인스턴스의 호스트 이름도 필요합니다. 두 가지 옵션이 있습니다. 인스턴스에서 자격 증명 및 호스트 이름을 가져오거나 GitHub Enterprise Server 고객이 자체 호스팅 가능한 버전의 앱을 호스트하고 관리할 수 있습니다.
GitHub Enterprise Server 인스턴스에서 자격 증명 가져오기
인스턴스는 GitHub App 자격 증명 및 호스트 이름을 앱 개발자와 공유할 수 있습니다. 사이트 관리자는 앱 개발자를 신뢰하는 경우에만 이 작업을 수행해야 합니다. 그런 다음 앱 코드는 수행하는 작업에 따라 적절한 자격 증명을 사용할 수 있습니다. 앱 개발자는 적절한 자격 증명 집합을 사용하고 데이터가 유출되지 않도록 예방 조치를 취해야 합니다.
장점:
- 앱 개발자는 앱이 실행되는 인프라를 제어합니다.
- 앱 개발자는 앱 업데이트를 더 효과적으로 제어할 수 있습니다.
- 앱 개발자는 앱 성능에 대해 더 많은 인사이트를 가질 수 있습니다.
단점:
- 앱 개발자는 인스턴스에서 데이터가 유출되는 것을 방지하기 위해 예방 조치를 취해야 합니다.
- 사이트 관리자는 애플리케이션이 인스턴스에 도달하기 위해 방화벽 예외를 열어야 할 수도 있지만, 그렇게 하기를 주저할 수도 있습니다.
GitHub Enterprise Server 고객이 자체 호스팅 가능한 버전의 앱을 호스트 및 관리하도록 지원
앱 개발자는 자체 호스팅 가능한 버전의 앱을 제공할 수 있습니다. 그런 다음, 사이트 관리자는 앱 개발자의 설치 및 설치 지침에 따라 앱을 호스트할 수 있습니다.
자체 호스팅 가능 버전의 앱을 만들고 공유하는 방법은 앱 개발자에게 달려 있으며 앱에서 사용하는 기술에 따라 다릅니다.
장점:
- 인스턴스가 앱 자격 증명을 공유하지 않으므로 더 안전하게 유지됩니다.
- 앱 개발자는 인스턴스의 데이터 유출에 대해 걱정할 필요가 없습니다.
단점:
- 앱 개발자는 사이트 관리자를 사용하여 앱에 대한 인프라를 제공하고 올바르게 설정합니다.
- 앱 코드에 대한 업데이트를 릴리스하는 것이 더 복잡할 수 있습니다.
- 앱 개발자가 앱 성능에 대한 가시성을 잃을 수 있습니다.
앱 코드는 올바른 URL을 사용해야 합니다.
GitHub Enterprise Server은(는) GitHub Free, GitHub Pro, GitHub Team 및 GitHub Enterprise Cloud과(와) 다른 URL을 사용합니다. GitHub Enterprise Server 인스턴스에서 작동하는지 여부에 따라 적절한 URL을 사용하도록 앱 코드를 업데이트해야 합니다. HOSTNAME
을(를) GitHub Enterprise Server 인스턴스의 호스트 이름으로 바꿉니다.
GitHub Free GitHub Pro GitHub Team GitHub Enterprise Cloud | GitHub Enterprise Server |
---|---|
https://api.github.com | https://HOSTNAME/api/v3 |
https://api.github.com/graphql | https://HOSTNAME/api/v3/graphql |
https://github.com/login/oauth/authorize | https://HOSTNAME/login/oauth/authorize |
https://github.com/login/oauth/access_token | https://HOSTNAME/login/oauth/access_token |
앱 코드는 기능 차이점을 인식해야 합니다.
새 REST API 엔드포인트, GraphQL 개체 및 웹후크는 GitHub Free, GitHub Pro, GitHub Team 및 GitHub Enterprise Cloud 이후 날짜에 GitHub Enterprise Server에 릴리즈됩니다. 또한 여러 버전의 GitHub Enterprise Server이(가) 있으며 이전 버전에는 다른 REST API 엔드포인트, GraphQL 개체 및 웹후크가 있을 수 있습니다.
따라서 앱 코드는 이러한 차이점을 인식해야 합니다. API 응답 및 웹후크 페이로드에는 처리 중인 버전을 결정하는 데 도움이 되는 GitHub Enterprise Server 페이로드에 대한 x-github-enterprise-version
헤더가 포함되어 있습니다.
각 GitHub Enterprise Server 인스턴스는 속도 제한을 구성할 수 있습니다.
각 GitHub Enterprise Server 인스턴스는 자체 속도 제한을 구성할 수 있습니다. 앱이 속도 한도에 도달했고 이미 속도 제한 이내로 유지하기 위해 예방 조치를 취하고 있는 경우, GitHub Enterprise Server 인스턴스의 관리자에게 문의해야 합니다.