Skip to main content

스테이징 인스턴스 설정

격리된 별도의 환경에서 GitHub Enterprise Server 인스턴스를 설정하고 이 인스턴스를 사용하여 변경 내용의 유효성을 검사하고 테스트할 수 있습니다.

스테이징 인스턴스 정보

GitHub에서는 GitHub Enterprise Server 인스턴스의 구성에 대한 백업, 업데이트 또는 변경 내용을 테스트하기 위해 별도의 환경을 설정하는 것이 좋습니다. 프로덕션 시스템에서 격리해야 하는 이 환경을 스테이징 환경이라고 합니다.

예를 들어 데이터 손실로부터 보호하기 위해 프로덕션 인스턴스의 백업 유효성을 정기적으로 검사할 수 있습니다. 스테이징 환경에서 프로덕션 데이터의 백업을 별도의 GitHub Enterprise Server 인스턴스로 정기적으로 복원할 수 있습니다. 이 스테이징 인스턴스에서 GitHub Enterprise Server의 최신 기능 릴리스로 업그레이드를 테스트할 수도 있습니다.

스테이징 인스턴스가 프로덕션 용량에서 사용되지 않는 한 기존 GitHub Enterprise 라이선스 파일을 다시 사용할 수 있습니다.

스테이징 환경에 대한 고려 사항

GitHub Enterprise Server를 철저히 테스트하고 프로덕션 환경과 가능한 한 유사한 환경을 다시 만들려면 인스턴스와 상호 작용하는 외부 시스템을 고려합니다. 예를 들어 스테이징 환경에서 다음을 테스트할 수 있습니다.

  • 인증, 특히 SAML과 같은 외부 인증 공급자를 사용하는 경우
  • 외부 티켓팅 시스템과의 통합
  • 연속 통합 서버와의 통합
  • GitHub Enterprise Server APIs을(를) 사용하는 외부 스크립트 또는 소프트웨어
  • 메일 알림을 위한 외부 SMTP 서버

스테이징 인스턴스 설정

스테이징 인스턴스를 처음부터 설정하고 원하는 인스턴스를 구성할 수 있습니다. 자세한 내용은 GitHub Enterprise Server 인스턴스 설정GitHub Enterprise 구성을(를) 참조하세요.

또는, 프로덕션 인스턴스 백업을 스테이징 인스턴스로 복원하여 프로덕션 구성을 반영하는 스테이징 인스턴스를 만들 수도 있습니다.

  1. 프로덕션 인스턴스를 백업합니다.
  2. 스테이징 인스턴스를 설정합니다.
  3. GitHub Actions을(를) 구성합니다.
  4. GitHub Packages을(를) 구성합니다.
  5. 프로덕션 백업을 복원합니다.
  6. 인스턴스 구성을 검토합니다.
  7. 인스턴스 구성을 적용합니다.

1. 프로덕션 인스턴스 백업

프로덕션 인스턴스와 같은 데이터, 같은 구성이 포함된 인스턴스에서 변경 내용을 테스트하려면 GitHub Enterprise Server Backup Utilities을(를) 사용하여 프로덕션 인스턴스의 데이터 및 구성을 백업합니다. 자세한 내용은 Backup 유틸리티를 사용하여 인스턴스에서 백업 구성을(를) 참조하세요.

경고

프로덕션에서 GitHub Actions 또는 GitHub Packages를 사용하는 경우 외부 스토리지의 프로덕션 구성이 백업에 포함됩니다. 스테이징 인스턴스에서 프로덕션 스토리지에 데이터를 쓰게 되어 발생하는 잠재적인 데이터 손실을 방지하려면, 백업 복원 이전 3단계와 4단계에서 각 기능을 구성해야 합니다.

2. 스테이징 인스턴스 설정

새 인스턴스를 스테이징 환경으로 작동하도록 설정합니다. 설치 프로세스를 따르는 경우 반드시 New Install 옵션을 선택하세요. 이렇게 하면 스테이징 환경이 올바르게 초기화되고 필요한 경우 복원할 수 있도록 백업할 준비가 완료됩니다.

스테이징 인스턴스를 프로비저닝하고 설치하는 데 프로덕션 인스턴스와 마찬가지로 동일한 가이드를 사용할 수 있습니다. 자세한 내용은 GitHub Enterprise Server 인스턴스 설정을(를) 참조하세요.

프로덕션 인스턴스의 백업을 복원하려는 경우 다음 단계를 계속 진행합니다. 아니면 인스턴스를 수동으로 구성하여 다음 단계를 건너뛸 수 있습니다.

경고

GitHub Actions를 사용하여 백업을 복원하는 작업은 구성되지 않은 인스턴스에서 성공하지 않습니다. GitHub Actions를 사용하도록 설정하려면 호스트 이름이 구성된 인스턴스가 필요합니다. 자세한 내용은 인스턴스에 대한 호스트 이름 구성하기을(를) 참조하세요.

3. GitHub Actions 구성

선택 사항으로, 프로덕션 인스턴스에서 GitHub Actions을(를) 사용하는 경우 프로덕션 백업을 복원하기 전에 스테이징 인스턴스 기능을 구성합니다. GitHub Actions를 사용하지 않는 경우 Configure GitHub Packages로 건너뜁니다.

스테이징 인스턴스에서 GitHub Actions를 구성하려면 관리 콘솔을 사용하세요.

관리 콘솔은 GitHub Actions를 포함하여 GitHub Enterprise Server 인스턴스의 저수준 구성을 위한 안전한 브라우저 기반 인터페이스를 제공합니다. 모든 구성 변경 내용은 감사되며, 전용 자격 증명 및 네트워크 컨트롤을 통해 액세스가 보호됩니다.

경고

프로덕션 백업을 복원하기 전에 스테이징 인스턴스에 GitHub Actions를 구성하지 않으면 스테이징 인스턴스가 프로덕션 인스턴스의 외부 스토리지를 사용하게 되어 데이터가 손실될 수 있습니다. 스테이징 인스턴스에 다른 외부 스토리지를 사용하는 것이 좋습니다. 자세한 내용은 스테이징 환경 사용을(를) 참조하세요.

  1. 관리 콘솔에 액세스합니다. 관리 콘솔에 액세스을(를) 참조하세요.

  2. 사이드바에서 Actions 탭을 엽니다.

  3. Enable GitHub Actions 를 선택하여 GitHub Actions를 활성화합니다.

  4. 아티팩트 및 로그 스토리지의 외부 스토리지 공급자를 선택합니다.

  5. 선택한 공급자에 필요한 스토리지 및 인증 세부 정보를 입력합니다.

  6. Test storage settings를 클릭한 다음, Save settings를 클릭하여 구성을 테스트합니다.

GitHub Actions를 구성하고 활성화한 후 다음 단계를 진행하세요.

4. GitHub Packages 구성

선택 사항으로, 프로덕션 인스턴스에서 GitHub Packages을(를) 사용하는 경우 프로덕션 백업을 복원하기 전에 스테이징 인스턴스 기능을 구성합니다. GitHub Packages를 사용하지 않으면 프로덕션 백업 복원으로 건너뜁니다.

경고

프로덕션 백업을 복원하기 전에 스테이징 인스턴스에 GitHub Packages를 구성하지 않으면 스테이징 인스턴스가 프로덕션 인스턴스의 외부 스토리지를 사용하게 되어 데이터가 손실될 수 있습니다. 스테이징 인스턴스에 다른 외부 스토리지를 사용하는 것이 좋습니다. 자세한 내용은 스테이징 환경 사용을(를) 참조하세요.

스테이징 인스턴스의 GitHub Packages를 구성하려면:

  1. 관리 콘솔에 액세스합니다. 관리 콘솔에 액세스를 참조하세요.
  2. 사이드바에서 Packages 탭을 엽니다.
  3. Enable GitHub Packages 상자를 선택하여 GitHub 패키지를 활성화합니다.
  4. Packages Storage Settings에서 외부 스토리지 공급자를 선택합니다.
  5. Test storage settings를 클릭하여 스토리지 구성을 테스트하세요.
  6. Save settings를 클릭하여 구성을 적용합니다.

참고 항목

에코시스템 토글을 사용하여 인스턴스에서 필요에 따라 개별 패키지 유형을 활성화, 비활성화하거나 읽기 전용으로 설정할 수 있습니다.

5. 프로덕션 백업 복원

ghe-restore 명령을 사용하여 백업에서 나머지 데이터를 복원합니다. 자세한 내용은 Backup 유틸리티를 사용하여 인스턴스에서 백업 구성을(를) 참조하세요.

스테이징 인스턴스가 이미 구성되어 있고 설정, 인증서, 라이선스 데이터를 덮어쓰려는 경우 명령에 -c 옵션을 추가합니다. 자세한 내용은 GitHub Enterprise Server Backup Utilities 설명서의 백업 및 복원 명령 사용을 참조하세요.

6. 인스턴스 구성 검토

동일한 호스트 이름을 사용하여 스테이징 인스턴스에 액세스하려면 macOS 또는 Linux의 /etc/hosts 파일이나 Windows의 C:\Windows\system32\drivers\etc 파일을 편집하여 스테이징 인스턴스 호스트 이름을 IP 주소로 확인하도록 로컬 호스트 파일을 업데이트합니다.

참고 항목

스테이징 인스턴스는 프로덕션 인스턴스와 동일한 호스트 이름으로 액세스할 수 있어야 합니다. GitHub Enterprise Server 인스턴스에 대한 호스트 이름 변경은 지원되지 않습니다. 자세한 내용은 인스턴스에 대한 호스트 이름 구성하기을(를) 참조하세요.

그런 다음 관리 콘솔에서 스테이징 인스턴스 구성을 검토합니다. 자세한 내용은 관리 웹 UI에서 인스턴스 등록을(를) 참조하세요.

경고

스테이징 인스턴스에 GitHub Actions 또는 GitHub Packages를 구성한 경우 프로덕션 데이터를 덮어쓰지 않도록 하려면 관리 콘솔의 외부 스토리지 구성이 프로덕션 인스턴스와 똑같지 않아야 합니다.

7. 인스턴스 구성 적용

관리 콘솔에서 구성을 적용하려면 설정 저장을 클릭합니다.

스테이징 인스턴스 다시 온라인 상태로 만들기

비용을 절감하기 위해 스테이징 인스턴스 전원을 끄고 필요할 때 전원을 다시 켜야 할 수 있습니다.

인스턴스는 60일 동안 오프라인 상태를 유지할 수 있습니다.

허용된 오프라인 기간 내에 인스턴스를 다시 온라인 상태로 전환하면 GitHub Enterprise Server가 성공적으로 인스턴스화됩니다. 인스턴스가 허용된 기간보다 오랫동안 오프라인 상태로 유지되면 GitHub Enterprise Server가 성공적으로 인스턴스화되지 못하고 시스템 로그에 텍스트 server has been offline for more than the configured server_rejoin_age_max가 포함된 오류 메시지가 표시될 수 있습니다. 시스템 로그 정보을(를) 참조하세요.

인스턴스가 오류 상태에 있는 경우 다음 명령을 실행하여 복구할 수 있습니다.

sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply

추가 참고 자료