GitHub Enterprise Server에 대한 GitHub Apps 개발 정보
GitHub App을(를) 사용자가 속하지 않은 GitHub Enterprise Server 인스턴스의 조직에서 사용할 수 있도록 하려면 다음 단계를 수행해야 합니다.
GitHub App이(가) 사용자가 속한 GitHub Enterprise Server 인스턴스의 조직에서만 사용되는 경우에는 이러한 단계가 필요하지 않습니다. 자세한 정보는 "자신만의 GitHub 앱 설치"을(를) 참조하세요.
GitHub Enterprise Server 액세스가 중요한 경우 대신 GitHub Actions에 대한 사용자 지정 작업이 요구 사항에 적합한지 여부를 고려합니다. 공개 작업은 GitHub Connect을(를) 사용하는 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 인스턴스의 관리자에게 문의해야 합니다.