Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2023-01-18. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

클러스터 업그레이드

관리 셸(SSH)을 사용하여 GitHub Enterprise Server 클러스터를 최신 릴리스로 업그레이드합니다.

핫패치를 사용하여 업그레이드

핫패치를 사용하여 GitHub Enterprise Server을(를) 최신 패치 릴리스로 업그레이드할 수 있습니다.

핫패칭을 사용하여 최신 패치 릴리스로 업그레이드할 수 있지만 기능 릴리스는 업그레이드할 수 없습니다. 예를 들어 2.10.1에서 2.10.5로 업그레이드는 동일한 기능 시리즈에 있으므로 가능하지만 2.10.9에서 2.11.0으로 업그레이드는 다른 기능 시리즈에 있으므로 불가능합니다.

핫패치는 일반적으로 다시 부팅할 필요가 없습니다. 핫패치에 재부팅이 필요한 경우 GitHub Enterprise Server 릴리스 정보는 요구 사항을 나타냅니다.

핫패치에는 구성 실행이 필요하므로 GitHub Enterprise Server 인스턴스의 일부 또는 모든 서비스에 대해 짧은 기간 동안 오류가 발생하거나 응답하지 않습니다. 핫패치를 설치하는 동안 유지 관리 모드를 사용하도록 설정할 필요는 없지만 이렇게 하면 오류 또는 시간 제한 대신 유지 관리 페이지가 표시됩니다. 자세한 내용은 “유지 관리 모드 사용 및 예약”을 참조하세요. 핫패치 설치 스크립트는 클러스터의 모든 노드에 핫패치를 설치하고, 가동 중지 시간을 방지하기 위해 적절한 순서로 서비스를 다시 시작합니다.

  1. GitHub Enterprise Server Backup Utilities를 사용하여 데이터를 백업합니다.
  2. 임의 노드의 관리 셸에서 ghe-cluster-hotpatch 명령을 사용하여 최신 핫패치를 설치합니다. 핫패치에 URL을 제공하거나, 수동으로 핫패치를 다운로드하고 로컬 파일 이름을 지정할 수 있습니다.
    $ ghe-cluster-hotpatch https://HOTPATCH-URL/FILENAME.hpkg

업그레이드 패키지를 사용하여 업그레이드

업그레이드 패키지를 사용하여 GitHub Enterprise Server 클러스터를 최신 기능 릴리스로 업그레이드합니다. 예를 들어 2.11에서 2.13으로 업그레이드할 수 있습니다.

업그레이드 준비

  1. 업그레이드할 대상 버전의 클러스터 네트워크 구성을 검토하고 필요에 따라 사용 중인 구성을 업데이트합니다.
  2. GitHub Enterprise Server Backup Utilities를 사용하여 데이터를 백업합니다.
  3. 업그레이드하는 동안 정상적으로 사용할 수 없으므로 GitHub Enterprise Server 클러스터의 최종 사용자를 위해 유지 관리 기간을 예약합니다. 유지 관리 모드는 클러스터 업그레이드가 진행되는 동안 사용자 액세스를 차단하고 데이터 변경을 방지합니다.
  4. GitHub Enterprise Server 다운로드 페이지에서 업그레이드 .pkg 파일의 URL을 클립보드에 복사합니다.
  5. 임의 노드의 관리 셸에서 curl과 결합된 ghe-cluster-each 명령을 사용하여 단일 단계로 각 노드에 릴리스 패키지를 다운로드합니다. 이전 단계에서 복사한 URL을 인수로 사용합니다.
    $ ghe-cluster-each -- "cd /home/admin && curl -L -O  https://PACKAGE-URL.pkg"
    > ghe-app-node-1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-app-node-1:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  24.2M      0  0:00:20  0:00:20 --:--:-- 27.4M
    > ghe-data-node-2:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-2:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  21.3M      0  0:00:23  0:00:23 --:--:-- 25.8M
    > ghe-data-node-1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-1:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.7M      0  0:00:25  0:00:25 --:--:-- 25.6M
    > ghe-app-node-2:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-app-node-2:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.8M      0  0:00:25  0:00:25 --:--:-- 17.6M
    > ghe-data-node-3:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-3:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.7M      0  0:00:25  0:00:25 --:--:-- 25.5M
  6. cluster.conf에서 mysql-master = <hostname>으로 정의된 주 MySQL 노드를 식별합니다. 이 노드가 마지막으로 업그레이드됩니다.

클러스터 노드 업그레이드

  1. 임의 클러스터 노드의 관리 셸에 연결하고 ghe-cluster-maintenance -s를 실행하여 예약된 기간에 따라 유지 관리 모드를 사용하도록 설정합니다.
  2. 주 MySQL 노드를 제외하고 각 GitHub Enterprise Server 노드의 관리 셸에 연결합니다. ghe-upgrade업그레이드 준비의 4단계에서 다운로드한 패키지 파일 이름을 제공하여 명령을 실행합니다.
    $ ghe-upgrade PACKAGE-FILENAME.pkg
      > *** verifying upgrade package signature...
      >  497MB 0:00:04 [ 117MB/s] [==========================================>] 100%            
      > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A
      > gpg: checking the trustdb
      > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
      > gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
      > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > "
  3. 업그레이드 프로세스가 완료되면 노드가 다시 부팅됩니다. 다시 부팅된 후 각 노드에 ping을 사용할 수 있는지 확인합니다.
  4. 주 MySQL 노드의 관리 셸에 연결합니다. ghe-upgrade업그레이드 준비의 4단계에서 다운로드한 패키지 파일 이름을 제공하여 명령을 실행합니다.
    $ ghe-upgrade PACKAGE-FILENAME.pkg
    > *** verifying upgrade package signature...
    >  497MB 0:00:04 [ 117MB/s] [==========================================>] 100%            
    > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A
    > gpg: checking the trustdb
    > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    > gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > "
  5. 업그레이드 프로세스가 완료되면 주 MySQL 노드가 다시 부팅됩니다. 다시 부팅된 후 각 노드에 ping을 사용할 수 있는지 확인합니다.
  6. 주 MySQL 노드의 관리 셸에 연결하고 ghe-cluster-config-apply 명령을 실행합니다.
  7. ghe-cluster-config-apply가 완료되면 ghe-cluster-status를 실행하여 서비스가 정상 상태인지 확인합니다.
  8. 임의 노드의 관리 셸에서 ghe-cluster-maintenance -u를 실행하여 유지 관리 모드를 종료합니다.