GitHub Apps용 GitHub Enterprise Server 개발 정보
GitHub App을(를) 귀하가 속해 있지 않은 GitHub Enterprise Server 인스턴스의 조직에서 사용할 수 있도록 하려면 다음 단계를 수행해야 합니다.
GitHub Enterprise Server 액세스가 중요하다면, 대신 GitHub Actions용 사용자 지정 작업이 요구 사항에 적합한지 고려하세요. GitHub Enterprise Server이(가) 있는 GitHub Connect 인스턴스에서 공개 작업을 사용할 수 있습니다. 자세한 내용은 설명서의 GitHub Connect를 사용하여 GitHub.com 작업에 대한 자동 액세스 사용입니다GitHub Enterprise Server.
각 GitHub Enterprise Server 인스턴스는 자체 인스턴스를 등록해야 합니다. GitHub App
GitHub Enterprise Server 인스턴스가 소유한 조직은 GitHub Apps 또는 다른 GitHub.com 인스턴스에 등록된 GitHub Enterprise Server를 설치할 수 없습니다. 대신 해당 인스턴스에서 사용하기 위해 자체 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 App 인스턴스가 등록한 GitHub Enterprise Server의 자격 증명이 필요합니다. 인스턴스의 호스트 이름도 필요합니다. 인스턴스에서 자격 증명 및 호스트 이름을 가져오거나 고객 호스트가 있고 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을 사용하도록 앱 코드를 업데이트해야 합니다.
GitHub Enterprise Server 인스턴스의 호스트 이름으로 HOSTNAME을 바꾸십시오.
| GitHub Free GitHub Pro GitHub Team GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|
https:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
https:/ | https:/ |
앱 코드는 기능 차이점을 인식해야 합니다.
새 REST API 엔드포인트, GraphQL 객체 및 웹후크는 GitHub Enterprise Server, GitHub Free, GitHub Pro, GitHub Team보다 나중에 GitHub Enterprise Cloud에 제공됩니다. 또한 여러 버전의 GitHub Enterprise Server버전이 있으며 이전 버전에는 다른 REST API 엔드포인트, GraphQL 개체 및 웹후크가 있을 수 있습니다.
따라서 앱 코드는 이러한 차이점을 인식해야 합니다. API 응답 및 웹훅 페이로드에는 다루고 있는 버전을 확인하는 데 도움이 되도록 GitHub Enterprise Server 페이로드용 x-github-enterprise-version 헤더가 포함됩니다.
각 GitHub Enterprise Server 인스턴스는 속도 제한을 구성할 수 있습니다.
각 GitHub Enterprise Server 인스턴스는 자체 속도 제한을 구성할 수 있습니다. 앱이 속도 제한에 도달하고 있으며 이미 속도 제한을 유지하기 위해 예방 조치를 취하고 있는 경우 인스턴스 관리자 GitHub Enterprise Server 에게 문의해야 합니다.