Skip to main content

GitHub Actions를 사용할 수 있는 GitHub Enterprise 서버 백업 및 복원

GitHub Actions이(가) 사용하도록 설정되어 있는 경우 GitHub Enterprise Server 인스턴스의 백업을 복원하려면 GitHub Enterprise Server Backup Utilities을(를) 사용하여 백업을 복원하기 전에 GitHub Actions을(를) 구성해야 합니다.

GitHub Actions을(를) 사용하는 경우 GitHub Enterprise Server의 백업 정보

GitHub Enterprise Server Backup Utilities을(를) 사용하여 GitHub Enterprise Server 인스턴스에 대한 데이터 및 구성을 백업하고 새 인스턴스에 복원할 수 있습니다. 자세한 내용은 "인스턴스에서 백업 구성"을(를) 참조하세요.

하지만 GitHub Actions에 대한 모든 데이터가 이러한 백업에 포함되지는 않습니다. GitHub Actions는 외부 스토리지를 사용하여 워크플로 아티팩트와 로그를 저장합니다. 이 데이터는 Azure Blob Storage, Amazon S3, Google Cloud Storage, 또는 MinIO와 같은 외부 공급자에 저장됩니다. 따라서 GitHub Enterprise Server 백업 및 GitHub Enterprise Server 고가용성 구성은 이 외부 스토리지에 저장된 데이터에 대한 보호를 제공하지 않으며 대신 Azure, Google Cloud, 또는 AWS와 같은 외부 스토리지 공급자가 제공하는 데이터 보호 및 복제에 의존합니다.

GitHub Actions을(를) 사용하는 경우 GitHub Enterprise Server의 백업 복원

GitHub Actions을(를) 사용하여 GitHub Enterprise Server 인스턴스의 백업을 복원하려면 GitHub Enterprise Server Backup Utilities에서 백업을 복원하기 전에 대상 인스턴스에서 네트워크 설정 및 외부 스토리지를 수동으로 구성해야 합니다.

  1. 원본 인스턴스가 오프라인 상태인지 확인합니다.

  2. 대체 GitHub Enterprise Server 인스턴스에서 네트워크 설정을 수동으로 구성합니다. 네트워크 설정은 백업 스냅샷에서 제외되며, ghe-restore가 덮어쓰지 않습니다. 자세한 내용은 "네트워크 설정 구성"을(를) 참조하세요.

  3. SSH를 통해 대상 인스턴스에 액세스합니다. 자세한 내용은 "관리 셸(SSH)에 액세스"을(를) 참조하세요.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  4. 다음 명령 중 하나를 입력하여 GitHub Actions에 대해 동일한 외부 스토리지 서비스를 원본 인스턴스로 사용하도록 대상 인스턴스를 구성합니다.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "azure"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.blob-provider "s3"
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.blob-provider "gcs"
      
  5. 다음 명령을 입력하면 개체 틀 값을 연결한 외부 스토리지의 값으로 바꿔 외부 스토리지 연결을 구성합니다.

    • Azure Blob Storage:

      Shell
      ghe-config secrets.actions.storage.azure.connection-string "CONNECTION STRING"
      
    • Amazon S3:

      Shell
      ghe-config secrets.actions.storage.s3.bucket-name "S3 BUCKET NAME"
      ghe-config secrets.actions.storage.s3.service-url "S3 SERVICE URL"
      ghe-config secrets.actions.storage.s3.access-key-id "S3 ACCESS KEY ID"
      ghe-config secrets.actions.storage.s3.access-secret "S3 ACCESS SECRET"
      

      다음 명령을 입력하여 S3에서 강제 경로 스타일을 사용하도록 설정할 수 있습니다.

      Shell
      ghe-config secrets.actions.storage.s3.force-path-style true
      
    • Google Cloud Storage:

      Shell
      ghe-config secrets.actions.storage.gcs.service-url "SERVICE URL"
      ghe-config secrets.actions.storage.gcs.bucket-name "BUCKET NAME"
      ghe-config secrets.actions.storage.gcs.access-key-id "HMAC ACCESS ID"
      ghe-config secrets.actions.storage.gcs.access-secret "HMAC SECRET"
      
  6. 대상 인스턴스에서 GitHub Actions을(를) 사용하도록 준비하려면 다음 명령을 입력합니다.

    Shell
    ghe-config app.actions.enabled true
    
  7. 구성을 적용하고 GitHub Actions을(를) 사용하도록 설정하여 외부 스토리지 공급자에 연결하려면 다음 명령을 입력합니다.

    Shell
    ghe-config-apply
    
  8. GitHub Actions을(를) 구성하고 사용하도록 설정한 후 ghe-restore 명령을 사용하여 백업에서 나머지 데이터를 복원합니다. 자세한 내용은 "인스턴스에서 백업 구성"을(를) 참조하세요.

  9. 대상 인스턴스에서 자체 호스팅 실행기를 다시 등록합니다. 자세한 내용은 "자체 호스트형 실행기 추가"을(를) 참조하세요.

  10. 선택적으로 새 인스턴스에 미리 설치된 번들 작업이 최신 상태인지 확인하려면 다음 명령을 입력합니다.

    Shell
    ghe-config --unset 'app.actions.actions-repos-sha1sum'
    
    1. 구성을 적용하려면 다음 명령을 실행합니다.

      참고: 구성을 실행하는 동안 의 서비스가 다시 시작될 수 있으므로 짧은 가동 중지 시간이 발생할 수 있습니다.

      Shell
      ghe-config-apply
      
    2. 구성 실행이 완료될 때까지 기다립니다.