Skip to main content

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

명령줄 유틸리티

GitHub Enterprise Server에는 특정 문제를 해결하거나 특정 작업을 수행하는 데 도움이 되는 다양한 유틸리티가 포함되어 있습니다.

SSH 관리 사용자로 로그인한 후에는 VM의 어디에서나 해당 명령을 실행할 수 있습니다. 자세한 내용은 "관리 셸(SSH)에 액세스"을(를) 참조하세요.

일반

ghe-announce

이 유틸리티는 모든 GitHub Enterprise 페이지의 맨 위에 배너를 설정합니다. 이를 사용하여 사용자에게 메시지를 브로드캐스트할 수 있습니다.

# Sets a message that's visible to everyone
$ ghe-announce -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message

각 사용자가 스스로 알림을 해제할 수 있도록 하려면 -d 플래그를 사용합니다.

# Sets a user-dismissible message that's visible to everyone
$ ghe-announce -d -s MESSAGE
> Announcement message set.
# Removes a previously set message
$ ghe-announce -u
> Removed the announcement message, which was user 
> dismissible: MESSAGE

GitHub Enterprise Server의 엔터프라이즈 설정을 사용하여 알림 배너를 설정할 수도 있습니다. 자세한 내용은 "엔터프라이즈에 대한 사용자 메시지 사용자 지정"을(를) 참조하세요.

ghe-aqueduct

이 유틸리티는 활성 및 큐에 있는 백그라운드 작업에 대한 정보를 표시합니다. 모든 페이지의 맨 위에 있는 관리자 통계 표시줄과 동일한 작업 수를 제공합니다.

이 유틸리티는 Aqueduct 서버가 백그라운드 작업을 처리하는 데 문제가 있는지를 식별하는 데 도움이 될 수 있습니다. 다음 시나리오 중 어느 것이든 Aqueduct의 문제를 나타낼 수 있습니다.

  • 활성 작업은 동일하게 유지되는 반면 백그라운드 작업의 수는 증가하고 있습니다.
  • 이벤트 피드가 업데이트되지 않습니다.
  • 웹후크가 트리거되지 않습니다.
  • Git 푸시 후에 웹 인터페이스가 업데이트되지 않습니다.

Aqueduct에 오류가 있는 것으로 의심되는 경우 GitHub Enterprise 지원에서 도움을 요청하세요.

이 명령을 사용하면 큐에서 작업을 일시 중지하거나 계속할 수도 있습니다.

$ ghe-aqueduct status
# lists queues and the number of currently queued jobs
# for all queues
$ ghe-aqueduct queue_depth --queue QUEUE
# lists the number of currently queued jobs for the
# specified queue
$ ghe-aqueduct pause --queue QUEUE
# pauses the specified queue
$ ghe-aqueduct resume --queue QUEUE
# resumes the specified queue

ghe-check-disk-usage

이 유틸리티는 삭제되었지만 아직 파일 핸들이 열려 있는 대용량 파일 또는 파일을 디스크에서 확인합니다. 루트 파티션의 공간을 확보하려면 이 작업을 실행해야 합니다.

ghe-check-disk-usage

ghe-cleanup-caches

이 유틸리티는 잠재적으로 루트 볼륨에 추가 디스크 공간을 차지할 수 있는 다양한 캐시를 정리합니다. 시간이 지남에 따라 루트 볼륨 디스크 공간 사용량이 눈에 띄게 증가하는 경우 이 유틸리티를 실행하여 전체 사용량을 줄이는 데 도움이 될지 확인하는 것이 좋습니다.

ghe-cleanup-caches

ghe-cleanup-settings

이 유틸리티는 기존 관리 콘솔 설정을 모두 초기화합니다.

: 일반적으로 지원에 문의했고 지원에서 요청한 경우에만 이 작업을 실행합니다.

ghe-cleanup-settings

ghe-config

이 유틸리티를 사용하면 GitHub Enterprise Server 인스턴스의 구성 설정을 검색하고 수정할 수 있습니다.

$ ghe-config core.github-hostname
# Gets the configuration value of `core.github-hostname`
$ ghe-config core.github-hostname URL
# Sets the configuration value of `core.github-hostname` 
# to the specified URL
$ ghe-config -l
# Lists all the configuration values

cluster.conf에서 노드의 UUID(범용 고유 식별자)를 찾을 수 있습니다.

  ghe-config HOSTNAME.uuid

REST API 속도 제한에서 사용자 목록에 예외를 허용할 수 있습니다. 해당 사용자에게는 120,000개 요청의 하드 제한이 계속 적용됩니다. 이 명령에 제공하는 사용자 이름은 대소문자를 구분합니다. 자세한 내용은 "REST API에 대한 트래픽률 제한"을(를) 참조하세요.

$ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions[bot]"
# Exempts the users hubot and github-actions[bot] from rate limits.
# Usernames are case-sensitive.

ghe-config-apply

이 유틸리티는 관리 콘솔 설정을 적용하고, 시스템 서비스를 다시 로드하며, 스토리지 디바이스를 준비하고, 애플리케이션 서비스를 다시 로드하고, 보류 중인 데이터베이스 마이그레이션을 실행합니다. 관리 콘솔의 웹 UI에서 설정 저장을 클릭하거나 /setup/api/configure 엔드포인트에 POST 요청을 보내는 것과 같습니다.

수동으로 실행할 필요는 없지만 SSH를 통해 설정을 저장하는 프로세스를 자동화하려는 경우 사용할 수 있습니다.

ghe-config-apply

ghe-console

이 유틸리티는 GitHub Enterprise 어플라이언스에서 GitHub Rails 콘솔을 엽니다. GitHub Enterprise 지원의 방향 없이 이 명령을 사용하지 마세요. 잘못된 사용으로 인해 손상 또는 데이터 손실이 발생할 수 있습니다.

ghe-console

ghe-dbconsole

이 유틸리티는 GitHub Enterprise 어플라이언스에서 MySQL 데이터베이스 세션을 엽니다. GitHub Enterprise 지원의 방향 없이 이 명령을 사용하지 마세요. 잘못된 사용으로 인해 손상 또는 데이터 손실이 발생할 수 있습니다.

ghe-dbconsole

ghe-es-index-status

이 유틸리티는 Elasticsearch 인덱스의 요약을 CSV 형식으로 반환합니다.

머리글 행이 있는 인덱스 요약을 STDOUT으로 출력합니다.

$ ghe-es-index-status -do
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name,Primary,Searchable,Writable,UpToDate,RepairProgress,Version
> code-search-1,true,true,true,true,100.0,72e27df7c631b45e026b42bfef059328fa040e17
> commits-5,true,true,true,true,100.0,7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4,true,true,true,true,100.0,cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4,false,false,false,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5,true,true,true,true,100.0,d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2,true,true,true,true,100.0,c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6,true,true,true,true,100.0,6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6,true,true,true,true,100.0,6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5,true,true,true,true,100.0,38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4,true,true,true,true,100.0,2613dec44bd14e14577803ac1f9e4b7e07a7c234

가독성을 위해 인덱스 요약 및 파이프 결과를 column으로 출력합니다.

$ ghe-es-index-status -do | column -ts,
> warning: parser/current is loading parser/ruby23, which recognizes
> warning: 2.3.3-compliant syntax, but you are running 2.3.4.
> warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
> Name             Primary  Searchable  Writable  UpToDate  RepairProgress  Version
> code-search-1    true     true        true      true      100.0           72e27df7c631b45e026b42bfef059328fa040e17
> commits-5        true     true        true      true      100.0           7ed28813100c47813ef654c0ee2bb9abf21ab744
> gists-4          true     true        true      true      100.0           cf8e7d04fcf2564c902e2873c424a279cc41079d
> issues-4         false    false       false     true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> issues-5         true     true        true      true      100.0           d0bb08f71eebf6e7b070572aa399b185dbdc8a76
> projects-2       true     true        true      true      100.0           c5cac1c4b3c66d42e609d088d174dbc3dd44469a
> pull-requests-6  true     true        true      true      100.0           6a466ad6b896a3499509990979bf9a18d7d41de3
> repos-6          true     true        true      true      100.0           6c8b5fbba0fc1e409558db411d05e092c1387082
> users-5          true     true        true      true      100.0           38984875552bb826c9ec42999f409cb2e95556eb
> wikis-4          true     true        true      true      100.0           2613dec44bd14e14577803ac1f9e4b7e07a7c234

ghe-legacy-github-services-report

이 유틸리티는 2018년 10월 1일에 중단될 통합 방법인 GitHub 서비스를 사용하는 어플라이언스의 리포지토리를 나열합니다. 어플라이언스의 사용자가 GitHub 서비스를 설정하여 특정 리포지토리에 푸시할 알림을 만들 수 있습니다. 자세한 내용은 the GitHub Blog의 "GitHub 서비스 사용 중단 발표"를 참조하세요. 이 명령 또는 추가 옵션을 자세히 알아보려면 -h 플래그를 사용합니다.

ghe-legacy-github-services-report

ghe-logs-tail

이 유틸리티를 사용하면 설치의 모든 관련 로그 파일을 비상 로그할 수 있습니다. 옵션을 전달하여 로그를 특정 집합으로 제한할 수 있습니다. 추가 옵션에는 -h 플래그를 사용합니다.

ghe-logs-tail

ghe-maintenance

이 유틸리티를 사용하면 설치 유지 관리 모드의 상태를 제어할 수 있습니다. 주로 관리 콘솔 백그라운드에서 사용하도록 설계되었지만 직접 사용할 수도 있습니다. 자세한 내용은 "유지 관리 모드 사용 설정 및 예약"을(를) 참조하세요.

ghe-maintenance -h

ghe-motd

이 유틸리티는 관리자가 관리 셸을 통해 인스턴스에 액세스할 때 표시되는 MOTD(오늘의 메시지)를 다시 표시합니다. 출력에는 인스턴스 상태에 대한 개요가 포함되어 있습니다.

ghe-motd

ghe-nwo

이 유틸리티는 리포지토리 ID에 따라 리포지토리의 이름 및 소유자를 반환합니다.

ghe-nwo REPOSITORY_ID

ghe-org-admin-promote

이 명령을 사용하여 어플라이언스에 대한 사이트 관리자 권한이 있는 사용자에게 조직 소유자 권한을 부여하거나 단일 조직의 단일 사용자에게 조직 소유자 권한을 부여합니다. 사용자 및/또는 조직을 지정해야 합니다. -y 플래그를 사용하여 확인을 바이패스하지 않는 한 실행하기 전에 ghe-org-admin-promote 명령이 항상 확인을 요청합니다.

유틸리티에서 다음 옵션을 사용할 수 있습니다.

  • -u 플래그는 사용자 이름을 지정합니다. 이 플래그를 사용하여 특정 사용자에게 조직 소유자 권한을 부여합니다. -u 플래그를 생략하여 모든 사이트 관리자를 지정된 조직으로 승격합니다.
  • -o 플래그는 조직을 지정합니다. 이 플래그를 사용하여 특정 조직에서 소유자 권한을 부여합니다. -o 플래그를 생략하여 모든 조직의 소유자 권한을 지정된 사이트 관리자에게 부여합니다.
  • -a 플래그는 모든 조직에서 모든 사이트 관리자에게 소유자 권한을 부여합니다.
  • -y 플래그는 수동 확인을 바이패스합니다.

이 유틸리티는 비사이트 관리자를 모든 조직의 소유자로 승격할 수 없습니다. ghe-user-promote를 사용하여 일반 사용자 계정을 사이트 관리자로 승격할 수 있습니다.

특정 사이트 관리자에게 특정 조직의 조직 소유자 권한 부여

ghe-org-admin-promote -u USERNAME -o ORGANIZATION

특정 사이트 관리자에게 모든 조직의 조직 소유자 권한 부여

ghe-org-admin-promote -u USERNAME

모든 사이트 관리자에게 특정 조직의 조직 소유자 권한 부여

ghe-org-admin-promote -o ORGANIZATION

모든 사이트 관리자에게 모든 조직의 조직 소유자 권한 부여

ghe-org-admin-promote -a

ghe-reactivate-admin-login

이 명령을 사용하여 관리 콘솔의 잠금을 계정 잠금이 발생한 후 즉시 해제할 수 있습니다. GitHub Enterprise Server 인스턴스에 대한 인증 정책을 구성하려면 "속도 제한 구성"을(를) 참조하세요.

ghe-reactivate-admin-login

ghe-saml-mapping-csv

이 유틸리티를 사용하면 관리자가 인스턴스의 사용자에 대한 SAML NameID 매핑을 출력하거나 업데이트할 수 있습니다. 이 유틸리티는 기존의 모든 매핑을 나열하는 CSV 파일을 출력할 수 있습니다. 또한 결과 파일을 편집한 다음 이 유틸리티를 사용하여 파일에서 새 매핑을 할당하여 인스턴스의 사용자에 대한 매핑을 업데이트할 수도 있습니다.

인스턴스의 모든 사용자 SAML NameID 매핑 목록이 포함된 CSV 파일을 출력하려면 다음 명령을 실행합니다.

ghe-saml-mapping-csv -d

출력이 완료되면 유틸리티가 파일 경로를 표시합니다. 출력의 기본 경로는 인스턴스가 실행 중인 GitHub Enterprise Server 의 패치 릴리스에 따라 달라집니다.

  • 버전 3.8.0에서 유틸리티가 파일을 /tmp에 씁니다.
  • 버전 3.8.1 이상에서 유틸리티가 파일을 /data/user/tmp에 씁니다.

매핑을 업데이트하려는 경우 유틸리티가 파일에 액세스할 수 있도록 파일을 기본 위치에 보관하는 것이 좋습니다.

매핑 업데이트를 준비하려면 파일을 편집하고 원하는 대로 변경합니다. 편집된 CSV 파일의 새 값을 사용하여 매핑을 업데이트한 결과를 보려면 드라이 런을 수행합니다. 다음 명령을 실행하여 /PATH/TO/FILE을 편집한 파일의 실제 경로로 바꿉니다.

ghe-saml-mapping-csv -u -n -f /PATH/TO/FILE

인스턴스의 SAML 매핑을 파일의 새 값으로 업데이트하려면 다음 명령을 실행하여 /PATH/TO/FILE을 편집한 파일의 실제 경로로 바꿉니다.

ghe-saml-mapping-csv -u -f /PATH/TO/FILE

ghe-service-list

이 유틸리티는 어플라이언스에서 시작 또는 중지(실행 중 또는 대기 중)된 모든 서비스를 나열합니다.

$ ghe-service-list

active
  - alambic
  - alive
  - aqueduct-lite
  - authzd
  - babeld
  - codeload
  - consul, process 17114
  - consul-template, process 19493
  - driftwood
  - elasticsearch
  - enterprise-manage-unicorn, process 9359
  - ghe-user-disk, process 2545
  - git-daemon
  - github-env
  - github-gitauth
  - github-resqued
  - github-stream-processors
  - github-timerd
  - github-unicorn
  - gitrpcd
  - governor
  - gpgverify
  - grafana-server, process 19314
  - graphite-web, process 20189
  - hookshot-go
  - kafka-lite
  - kredz
  - lfs-server
  - mail-replies
  - memcached
  - minio
  - mysql
  - nginx
  - nomad, process 19562
  - pages
  - postfix
  - redis
  - spokesd
  - spokes-sweeper
  - svnbridge
  - token-scanning-api
  - token-scanning-backfill-worker
  - token-scanning-hydro-consumer
  - token-scanning-incremental-worker
  - token-scanning-udp-backfill-worker
  - treelights
  - turboscan
  - viewscreen

inactive
  - wireguard

ghe-set-password

이 유틸리티를 사용하면 관리 콘솔 인증을 위한 새 루트 사이트 관리자 암호를 설정할 수 있습니다. 자세한 내용은 "관리 콘솔에 대한 액세스 관리"을(를) 참조하세요.

ghe-set-password

ghe-setup-network

이 유틸리티를 사용하면 기본 네트워크 인터페이스를 구성할 수 있습니다.

네트워크 설정 구성을 안내하는 시각적 모드로 전환하려면

ghe-setup-network -v

추가 옵션에는 -h 플래그를 사용합니다.

ghe-ssh-check-host-keys

이 유틸리티는 유출된 것으로 알려진 SSH 호스트 키 목록에 대해 기존 SSH 호스트 키를 확인합니다.

ghe-ssh-check-host-keys

유출된 호스트 키가 발견되면 유틸리티가 상태 1 및 메시지와 함께 종료됩니다.

> One or more of your SSH host keys were found in the blacklist.
> Please reset your host keys using ghe-ssh-roll-host-keys.

유출된 호스트 키가 발견되지 않으면 유틸리티가 상태 0 및 메시지와 함께 종료됩니다.

> The SSH host keys were not found in the SSH host key blacklist.
> No additional steps are needed/recommended at this time.

ghe-ssh-roll-host-keys

이 유틸리티는 SSH 호스트 키를 롤업하고 새로 생성된 키로 바꿉니다.

$ sudo ghe-ssh-roll-host-keys
Proceed with rolling SSH host keys? This will delete the
existing keys in /etc/ssh/ssh_host_* and generate new ones. [y/N]

# Press 'Y' to confirm deleting, or use the -y switch to bypass this prompt

> SSH host keys have successfully been rolled.

ghe-ssh-weak-fingerprints

이 유틸리티는 GitHub Enterprise 어플라이언스에 저장되어 있으며 약한 것으로 알려진 SSH 키에 대한 보고서를 반환합니다. 필요에 따라 사용자 키를 대량 작업으로 해지할 수 있습니다. 유틸리티는 관리 콘솔에서 수동으로 해지해야 하는 약한 시스템 키를 보고합니다.

# Print a report of weak user and system SSH keys
$ ghe-ssh-weak-fingerprints

# Revoke all weak user keys
$ ghe-ssh-weak-fingerprints --revoke

ghe-ssl-acme

이 유틸리티를 사용하면 GitHub Enterprise 어플라이언스에 Let's Encrypt 인증서를 설치할 수 있습니다. 자세한 내용은 "TLS 구성"을(를) 참조하세요.

-x 플래그를 사용하여 ACME 구성을 제거할 수 있습니다.

ghe-ssl-acme -e

ghe-ssl-ca-certificate-install

이 유틸리티를 사용하면 GitHub Enterprise 서버에 사용자 지정 루트 CA 인증서를 설치할 수 있습니다. 인증서는 PEM 형식이어야 합니다. 또한 인증서 공급 기업이 단일 파일에 여러 CA 인증서를 포함하는 경우 개별 파일로 분리한 다음 한 번에 하나씩 ghe-ssl-ca-certificate-install에 전달해야 합니다.

이 유틸리티를 실행하여 S/MIME 커밋 서명 확인을 위한 인증서 체인을 추가합니다. 자세한 내용은 "커밋 서명 확인 정보"을(를) 참조하세요.

다른 서버가 자체 서명된 SSL 인증서 또는 필요한 CA 번들을 제공하지 않는 SSL 인증서를 사용하고 있어 GitHub Enterprise Server 인스턴스가 해당 서버에 연결할 수 없는 경우 이 유틸리티를 실행합니다. 이를 확인하는 한 가지 방법은 GitHub Enterprise Server 인스턴스에서 openssl s_client -connect host:port -verify 0 -CApath /etc/ssl/certs를 실행하는 것입니다. 원격 서버의 SSL 인증서를 확인할 수 있는 경우 SSL-Session의 반환 코드는 아래와 같이 0이어야 합니다.

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: C794EBCC3CBC10F747C9AFC029C03C1048FC99CFC34D13D7444E0F267C58DF4C
    Session-ID-ctx:
    Master-Key: 02A7C47CFD6EEC87D3C710E9DD87390E04EF82DDD7514AE03127D5DC1945FC0CAEFB5395791AEA598667EFA61B9EA8C5
    Key-Arg   : None
    Start Time: 1394581597
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

반면에 원격 서버의 SSL 인증서를 확인할 수 없는 경우 SSL-Session에 0이 아닌 반환 코드가 있어야 합니다.

SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA
    Session-ID: 82CB288051A6DB66094C50A69CF1292AEE7E54C6B01B659B98AB336F8C33863E
    Session-ID-ctx:
    Master-Key: 01B025B2F764043A27919A8D1355AAECD8844FF0831B1D664042334790574A6F4025BAB085D4ED71D71AAB3091B849E5
    Key-Arg   : None
    Start Time: 1394581782
    Timeout   : 300 (sec)
    Verify return code: 27 (certificate not trusted)

유틸리티에서 다음 추가 옵션을 사용할 수 있습니다.

  • -r 플래그를 사용하면 CA 인증서를 제거할 수 있습니다.
  • -h 플래그는 더 많은 사용 정보를 표시합니다.
ghe-ssl-ca-certificate-install -c CERTIFICATE_PATH

구성을 적용하려면 다음 명령을 실행합니다. 구성을 실행하는 동안 의 서비스가 다시 시작될 수 있으므로 짧은 가동 중지 시간이 발생할 수 있습니다.

Shell
ghe-config-apply

ghe-ssl-certificate-setup

이 유틸리티를 사용하면 GitHub Enterprise Server 인스턴스에 대한 SSL 인증서를 업데이트할 수 있습니다.

이 명령 또는 추가 옵션을 자세히 알아보려면 -h 플래그를 사용합니다.

/usr/local/share/enterprise/ghe-ssl-certificate-setup

ghe-ssl-generate-csr

이 유틸리티를 사용하면 프라이빗 키 및 CSR(인증서 서명 요청)을 생성할 수 있습니다. 이 요청은 인스턴스와 함께 사용할 유효한 인증서를 가져오기 위해 상업용 또는 프라이빗 인증 기관과 공유할 수 있습니다. 자세한 내용은 "TLS 구성"을(를) 참조하세요.

이 명령 또는 추가 옵션을 자세히 알아보려면 -h 플래그를 사용합니다.

ghe-ssl-generate-csr

ghe-storage-extend

일부 플랫폼에서는 사용자 볼륨을 확장하기 위해서는 이 스크립트가 필요합니다. 자세한 내용은 "스토리지 용량 늘리기"을(를) 참조하세요.

ghe-storage-extend

ghe-version

이 유틸리티는 GitHub Enterprise Server 인스턴스의 버전, 플랫폼, 빌드를 출력합니다.

ghe-version

ghe-webhook-logs

이 유틸리티는 관리자가 문제를 검토하고 식별할 수 있도록 웹후크 제공 로그를 반환합니다.

ghe-webhook-logs

전날 실패한 후크 제공을 모두 표시하려면 다음을 수행합니다.

ghe-webhook-logs -f -a YYYY-MM-DD

날짜 형식은 YYYY-MM-DD, YYYY-MM-DD HH:MM:SS 또는 YYYY-MM-DD HH:MM:SS (+/-) HH:M이어야 합니다.

제공에 대한 전체 후크 페이로드, 결과, 예외를 표시하려면 다음을 수행합니다.

ghe-webhook-logs -g DELIVERY_GUID

Clustering

ghe-cluster-maintenance

ghe-cluster-maintenance 유틸리티를 사용하면 클러스터의 모든 노드에 유지 관리 모드를 설정하거나 설정 해제할 수 있습니다.

$ ghe-cluster-maintenance -h
# Shows options
$ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
$ ghe-cluster-maintenance -u
# Unsets maintenance mode

ghe-cluster-status

GitHub Enterprise Server의 클러스터 배포에서 노드 및 서비스의 상태를 확인합니다.

ghe-cluster-status

ghe-cluster-support-bundle

이 유틸리티는 지역 복제 또는 클러스터링 구성의 각 노드에서 중요한 로그를 포함하는 지원 번들 Tarball을 만듭니다.

기본적으로 명령은 _/tmp_에서 Tarball을 만들지만 SSH를 통해 쉽게 스트리밍할 수 있도록 STDOUTcat tarball을 사용할 수도 있습니다. 이는 웹 UI가 응답하지 않거나 _/setup/support_에서 지원 번들을 다운로드하는 것이 유효하지 않는 경우에 유용합니다. 이전 로그를 포함하는 확장 번들을 생성하려면 이 명령을 사용해야 합니다. 이 명령을 사용하여 클러스터 지원 번들을 GitHub Enterprise 지원에 직접 업로드할 수도 있습니다.

표준 번들을 만들려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -o' > cluster-support-bundle.tgz

지난 2일 동안의 데이터를 포함하는 표준 번들을 만들려면 다음을 수행합니다.

ssh -p 122 admin@HOSTNAME -- "ghe-cluster-support-bundle -p '2 days'  -o" > support-bundle.tgz

지난 8일 동안의 데이터를 포함하는 확장 번들을 만들려면 다음을 수행합니다.

ssh -p 122 admin@HOSTNAME -- ghe-cluster-support-bundle -x -o' > cluster-support-bundle.tgz

GitHub 지원에 번들을 보내려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -u'

GitHub 지원에 번들을 보내고 번들을 티켓과 연결하려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-cluster-support-bundle -t TICKET_ID'

ghe-dpages

이 유틸리티를 사용하면 분산된 GitHub Pages 서버를 관리할 수 있습니다.

ghe-dpages

리포지토리 위치 및 상태에 대한 요약을 표시하려면 다음을 사용합니다.

ghe-dpages status

클러스터 노드를 비우기 전에 GitHub Pages 스토리지 서비스를 비우려면 다음을 사용합니다.

ghe-dpages evacuate pages-server-UUID

ghe-spokes

이 유틸리티를 사용하면 분산된 git 서버에서 각 리포지토리의 복사본 3개를 관리할 수 있습니다.

ghe-spokes

리포지토리 위치 및 상태에 대한 요약을 표시하려면 다음을 사용합니다.

ghe-spokes status

리포지토리가 저장된 서버를 표시하려면 다음을 사용합니다.

ghe-spokes route

클러스터 노드의 스토리지 서비스를 비우려면 다음을 사용합니다.

ghe-spokes server evacuate git-server-UUID

ghe-storage

이 유틸리티를 사용하면 클러스터 노드를 비우기 전에 모든 스토리지 서비스를 비울 수 있습니다.

ghe-storage evacuate storage-server-UUID

Git

ghe-btop

현재 Git 작업에 대한 top 같은 인터페이스입니다.

ghe-btop [ <port number> | --help | --usage ]

ghe-governor

이 유틸리티는 Git 트래픽을 분석하는 데 도움이 됩니다. /data/user/gitmon 아래에 있는 Governor 데이터 파일을 쿼리합니다. GitHub은 2주 동안 보존된 파일당 1시간의 데이터를 보유합니다. 자세한 내용은 GitHub Community에서 Governor를 사용한 Git 트래픽 분석을 참조하세요.

ghe-governor <subcommand> <column> [options]
ghe-governor -h
Usage: ghe-governor [-h] <subcommand> args

OPTIONS:
  -h | --help        Show this message.

Valid subcommands are:
  aggregate              Find the top (n) groups of queries for a grouping function and metric
  health                 Summarize all recent activity on one or more servers
  top                    Find the top (n) queries for a given metric
  dump                   Dump individual operations
  test-quotas            Check quota information

Try ghe-governor <subcommand> --help for more information on the arguments each subcommand takes.

ghe-repo

이 유틸리티를 사용하면 리포지토리의 디렉터리로 변경하고 git 사용자로 대화형 셸을 열 수 있습니다. git-* 또는 git-nw-* 같은 명령을 통해 리포지토리의 수동 검사 또는 유지 관리를 수행할 수 있습니다.

ghe-repo USERNAME/REPONAME

ghe-repo-gc

이 유틸리티는 수동으로 리포지토리 네트워크를 다시 패키지하여 팩 스토리지를 최적화합니다. 큰 리포지토리가 있는 경우 이 명령을 실행하면 전체 크기를 줄이는 데 도움이 될 수 있습니다. GitHub Enterprise는 리포지토리 네트워크와의 상호 작용 전체에서 이 명령을 자동으로 실행합니다.

선택적 --prune 인수를 추가하여 분기, 태그 또는 기타 참조에서 참조되지 않으며 연결할 수 없는 Git 개체를 제거할 수 있습니다. 이는 이전에 삭제된 중요한 정보를 즉시 제거하는 데 특히 유용합니다.

경고: --prune 인수를 사용하여 연결할 수 없는 Git 개체를 제거하기 전에 GitHub Enterprise Server 인스턴스를 유지 관리 모드로 전환하거나 동일한 리포지토리 네트워크 내의 모든 리포지토리가 잠겨 있는지 확인하세요. 자세한 내용은 "유지 관리 모드 사용 설정 및 예약" 및 "리포지토리 잠금"을(를) 참조하세요.

ghe-repo-gc USERNAME/REPONAME

GitHub Actions

ghe-actions-check

이 유틸리티는 GitHub Actions에 대한 모든 서비스가 정상인지 확인합니다. 자세한 내용은 “GitHub Enterprise Server용 GitHub Actions 시작” 및 “엔터프라이즈의 GitHub Actions 문제 해결”을(를) 참조하세요.

ghe-actions-check

ghe-actions-precheck

이 유틸리티는 GitHub Enterprise Server 인스턴스에서 GitHub Actions에 대한 Blob Storage 구성을 테스트합니다. 인스턴스에 GitHub Actions를 사용 설정하기 전에 유틸리티를 사용하여 스토리지 구성을 확인할 수 있습니다.

GitHub Actions 구성에 대한 자세한 내용은 “GitHub Enterprise Server용 GitHub Actions 시작”을(를) 참조하세요.

참고: 이 유틸리티는 스토리지 공급자에 대한 자격 증명 기반 연결을 사용하는 구성에서만 작동합니다. OIDC(OpenI Connect) 구성에서는 작동하지 않습니다.

ghe-actions-precheck -p [PROVIDER] -cs ["CONNECTION-STRING"]

스토리지 시스템이 올바르게 구성된 경우 다음 출력이 표시됩니다.

All Storage tests passed

ghe-actions-stop

이 유틸리티는 GitHub Enterprise Server 인스턴스에서 GitHub Actions이(가) 실행되는 것을 중지합니다.

참고:

  • 일반적으로 지원에 문의했고 지원에서 요청한 경우에만 이 작업을 실행합니다.
  • 고가용성 구성에는 기본에서 이 명령을 실행합니다.

ghe-actions-start

이 유틸리티는 이전에 중지된 후 GitHub Enterprise Server 인스턴스에서 GitHub Actions을(를) 시작합니다.

참고:

  • 일반적으로 지원에 문의했고 지원에서 요청한 경우에만 이 작업을 실행합니다.
  • 고가용성 구성에는 기본에서 이 명령을 실행합니다.

시스템이 올바르게 구성된 경우 다음 출력이 표시됩니다.

Actions was enabled!

고가용성

ghe-repl-promote

이 명령은 기존 복제본 노드에서 복제본을 사용하지 않도록 설정하고 원래 주 노드와 동일한 설정을 사용하여 복제본 노드를 주 노드로 변환합니다. 모든 복제 서비스가 사용 설정됩니다. 자세한 내용은 "복제본 어플라이언스로 장애 조치(failover) 시작"을(를) 참조하세요.

복제본을 승격해도 기존 어플라이언스에 대한 복제가 자동으로 설정되지는 않습니다. 복제본을 승격한 후 원하는 경우 새 주 복제본에서 기존 어플라이언스 및 이전 주 복제본으로 복제를 설정할 수 있습니다.

ghe-repl-promote

ghe-repl-setup

기존 노드에서 이 유틸리티를 실행하여 고가용성 구성 사용 설정을 시작합니다. 이 유틸리티는 ghe-repl-start로 복제를 시작하기 전에 노드를 대기 모드로 전환합니다. 자세한 내용은 "고가용성 복제본 만들기"을(를) 참조하세요.

유틸리티를 실행하면 노드에서 다음 구성이 발생합니다.

  • 노드 간 통신을 위해 암호화된 WireGuard VPN 터널이 설정됩니다.
  • 데이터베이스 서비스가 복제를 위해 구성되고 시작됩니다.
  • 애플리케이션 서비스를 사용할 수 없습니다. HTTP 또는 HTTPS, Git 또는 기타 지원되는 프로토콜을 통해 복제본 노드에 액세스하려고 하면 "복제 모드 서버" 메시지, 유지 관리 페이지 또는 오류 메시지가 표시됩니다.

이 유틸리티를 실행할 때 PRIMARY-NODE-IP를 인스턴스의 주 노드 IP 주소로 바꿉니다.

ghe-repl-setup PRIMARY-NODE-IP

ghe-repl-start

이 유틸리티는 노드에 있는 모든 데이터 저장소의 복제를 시작합니다. ghe-repl-setup을 실행한 후 이 유틸리티를 실행합니다. 자세한 내용은 "고가용성 복제본 만들기"을(를) 참조하세요.

ghe-repl-start

ghe-repl-status

이 유틸리티는 노드의 복제 상태를 표시하고 각 데이터 저장소의 복제 스트림에 대한 OK, WARNING 또는 CRITICAL 상태를 반환합니다. 자세한 내용은 "고가용성 구성 모니터링"을(를) 참조하세요.

  • WARNING 상태인 복제 채널이 하나라도 있으면 코드 1과 함께 명령이 종료됩니다.
  • 복제를 시작하지 않은 경우 코드 1과 함께 명령이 종료됩니다.
  • CRITICAL 상태인 채널이 하나라도 있으면 코드 2와 함께 명령이 종료됩니다.
  • 출력은 Nagios의 check_by_ssh 플러그인의 기대치를 준수합니다. 자세한 내용은 공식 Nagios 플러그 인 페이지의 check_by_ssh 플러그 인을 참조하세요.
ghe-repl-status

-v-vv 옵션은 각 데이터 저장소의 복제 상태에 대한 추가 세부 정보를 제공합니다.

ghe-repl-status -v

ghe-repl-stop

이 명령은 기존 복제본 노드의 모든 데이터 저장소에 대한 복제를 일시적으로 사용하지 않도록 설정합니다. 모든 복제 서비스가 중지됩니다. 복제를 다시 시작하려면 ghe-repl-start를 사용합니다.

ghe-repl-stop

ghe-repl-teardown

이 유틸리티는 기존 복제본 노드에서 복제를 완전히 사용하지 않도록 설정하여 복제 구성을 제거합니다. 복제본 노드에서 다음 명령을 실행할 수 있지만 복제본 노드에 연결할 수 없는 경우 주 노드에서도 해당 명령을 실행할 수 있습니다.

ghe-repl-teardown

가져오기 및 내보내기

ghe-migrator

ghe-migrator는 한 GitHub 인스턴스에서 다른 인스턴스로 마이그레이션하는 데 도움이 되는 고화질 도구입니다. 인스턴스를 통합하거나 조직, 사용자, 팀 및 리포지토리를 GitHub.com에서 GitHub Enterprise으로 이동할 수 있습니다.

자세한 내용은 기업에서 데이터를 마이그레이션하는 방법에 대한 가이드를 참조하세요.

git-import-detect

URL이 지정된 경우 다른 쪽 끝에 있는 소스 제어 관리 시스템의 유형을 검색합니다. 수동 가져오기 중에는 이미 알려진 것 같지만 자동화된 스크립트에서는 매우 유용할 수 있습니다.

git-import-detect

git-import-hg-raw

이 유틸리티는 Mercurial 리포지토리를 이 Git 리포지토리로 가져옵니다. 자세한 내용은 "관리 셸을 사용하여 다른 버전 제어 시스템에서 가져오기"을(를) 참조하세요.

git-import-hg-raw

git-import-svn-raw

이 유틸리티는 Subversion 기록 및 파일 데이터를 Git 분기로 가져옵니다. 트리의 직선 복사본으로, 트렁크 또는 분기 구분을 무시합니다. 자세한 내용은 "관리 셸을 사용하여 다른 버전 제어 시스템에서 가져오기"을(를) 참조하세요.

git-import-svn-raw

git-import-tfs-raw

이 유틸리티는 TFVC(Team Foundation 버전 제어)에서 가져옵니다. 자세한 내용은 "관리 셸을 사용하여 다른 버전 제어 시스템에서 가져오기"을(를) 참조하세요.

git-import-tfs-raw

git-import-rewrite

이 유틸리티는 가져온 리포지토리를 다시 작성합니다. 이렇게 하면 작성자 이름을 바꿀 수 있으며 Subversion 및 TFVC의 경우 폴더를 기반으로 Git 분기를 생성합니다. 자세한 내용은 "관리 셸을 사용하여 다른 버전 제어 시스템에서 가져오기"을(를) 참조하세요.

git-import-rewrite

보안

ghe-find-insecure-git-operations

이 유틸리티는 인스턴스의 로그를 검색하고 DSA, RSA-SHA-1, HMAC-SHA-1 및 CBC 암호화를 비롯한 안전하지 않은 알고리즘 또는 해시 함수를 사용하는 SSH를 통해 Git 작업을 식별합니다. 출력을 사용하여 클라이언트에서 보다 안전한 SSH 연결로 전환하도록 지원할 수 있습니다. 자세한 정보는the GitHub Blog와(과) "인스턴스에 대한 SSH 연결 구성"을(를) 참조하세요.

ghe-find-insecure-git-operations

지원

ghe-diagnostics

이 유틸리티는 다양한 검사를 수행하고 사용자가 겪고 있는 문제를 진단하는 데 도움이 되도록 지원하기 위해 전송할 수 있는 설치에 대한 정보를 수집합니다.

현재 이 유틸리티의 출력은 관리 콘솔에서 진단 정보를 다운로드하는 것과 유사하지만 시간이 지남에 따라 웹 UI에서 사용할 수 없는 추가 개선 사항이 추가될 수 있습니다. 자세한 내용은 "GitHub 지원에 데이터 제공"을(를) 참조하세요.

ghe-diagnostics

ghe-support-bundle

참고: GitHub Enterprise Server 인스턴스가 지역 복제 구성에 있거나 인스턴스가 클러스터인 경우 ghe-cluster-support-bundle 명령을 사용하여 지원 번들을 검색해야 합니다. 자세한 내용은 "명령줄 유틸리티"을 참조하세요.

이 유틸리티는 인스턴스의 중요한 로그를 포함하는 지원 번들 Tarball을 만듭니다.

기본적으로 명령은 _/tmp_에서 Tarball을 만들지만 SSH를 통해 쉽게 스트리밍할 수 있도록 STDOUTcat tarball을 사용할 수도 있습니다. 이는 웹 UI가 응답하지 않거나 _/setup/support_에서 지원 번들을 다운로드하는 것이 유효하지 않는 경우에 유용합니다. 이전 로그를 포함하는 확장 번들을 생성하려면 이 명령을 사용해야 합니다. 이 명령을 사용하여 GitHub Enterprise 지원에 직접 지원 번들을 업로드할 수도 있습니다.

표준 번들을 만들려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz

지난 2일 동안의 데이터를 포함하는 표준 번들을 만들려면 다음을 수행합니다.

ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p '2 days'  -o" > support-bundle.tgz

지난 8일 동안의 데이터를 포함하는 확장 번들을 만들려면 다음을 수행합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -x -o' > support-bundle.tgz

GitHub 지원에 번들을 보내려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -u'

GitHub 지원에 번들을 보내고 번들을 티켓과 연결하려면 다음을 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -t TICKET_ID'

ghe-support-upload

이 유틸리티는 어플라이언스에서 GitHub Enterprise 지원으로 정보를 보냅니다. 로컬 파일을 지정하거나 STDIN을 통해 최대 100MB의 데이터 스트림을 제공할 수 있습니다. 업로드된 데이터는 선택적으로 지원 티켓과 연결될 수 있습니다.

GitHub 지원에 파일을 보내고 파일을 티켓과 연결하려면 다음을 사용합니다.

ghe-support-upload -f FILE_PATH -t TICKET_ID

STDIN을 통해 데이터를 업로드하고 티켓과 데이터를 연결하려면 다음을 사용합니다.

ghe-repl-status -vv | ghe-support-upload -t TICKET_ID -d "Verbose Replication Status"

이 예제에서 ghe-repl-status -vv는 복제본 어플라이언스에서 자세한 상태 정보를 보냅니다. ghe-repl-status -vvSTDIN에 스트리밍하려는 특정 데이터로, Verbose Replication Status를 데이터에 대한 간략한 설명으로 바꿔야 합니다. 일반적으로 지원에 문의했고 지원에서 요청한 경우에만 이 작업을 실행합니다.

GitHub Enterprise Server 업그레이드

ghe-check-background-upgrade-jobs

기능 릴리스로 업그레이드하는 동안 이 유틸리티는 GitHub Enterprise Server 인스턴스에서 백그라운드 작업의 상태를 표시합니다. 백 투 백 업그레이드를 실행하는 경우 이 유틸리티를 사용하여 다음 업그레이드를 진행하기 전에 모든 백그라운드 작업이 완료되었는지 확인해야 합니다.

참고 GitHub Enterprise Server 3.8에서 ghe-check-background-upgrade-jobs을(를) 사용하려면 인스턴스가 3.8.12 이상 버전을 실행해야 합니다.

ghe-check-background-upgrade-jobs

ghe-update-check

이 유틸리티는 GitHub Enterprise의 새 패치 릴리스를 사용할 수 있는지 확인합니다. 릴리스를 사용할 수 있고 인스턴스에 공간이 있는 경우 패키지를 다운로드합니다. 기본적으로 _/var/lib/ghe-updates_에 저장됩니다. 그러면 관리자가 업그레이드를 수행할 수 있습니다.

다운로드 상태를 포함하는 파일은 _/var/lib/ghe-updates/ghe-update-check.status_에서 제공됩니다.

최신 GitHub Enterprise 릴리스를 확인하려면 -i 스위치를 사용합니다.

ssh -p 122 admin@HOSTNAME -- 'ghe-update-check'

ghe-upgrade

이 유틸리티는 업그레이드 패키지를 설치하거나 확인합니다. 업그레이드가 실패하거나 중단된 경우 이 유틸리티를 사용하여 패치 릴리스를 롤백할 수도 있습니다. 자세한 내용은 "GitHub Enterprise 서버 업그레이드"을(를) 참조하세요.

업그레이드 패키지를 확인하려면 다음을 사용합니다.

ghe-upgrade --verify UPGRADE-PACKAGE-FILENAME

업그레이드 패키지를 설치하려면 다음을 사용합니다.

ghe-upgrade UPGRADE-PACKAGE-FILENAME

업그레이드를 롤백할 때 확장명이 _.pkg_인 업그레이드 패키지 파일을 사용해야 합니다. 확장명이 _.hpkg_인 핫패치 패키지 파일은 지원되지 않습니다.

ghe-upgrade --allow-patch-rollback EARLIER-RELEASE-UPGRADE-PACKAGE.pkg

명령을 실행한 후 다시 부팅해야 합니다. 마이그레이션은 패치 릴리스에서 실행되지 않으므로 롤백은 데이터 파티션에 영향을 주지 않습니다.

ghe-upgrade-scheduler

이 유틸리티는 업그레이드 패키지의 예약된 설치를 관리합니다. 예약된 설치를 표시하거나 새로 만들거나 제거할 수 있습니다. cron 식을 사용하여 일정을 만들어야 합니다. 자세한 내용은 Cron Wikipedia 항목을 참조하세요.

ghe-upgrade-scheduler 유틸리티는 대부분의 경우 유지 관리 모드 또는 다시 부팅이 필요하지 않은 핫패치 업그레이드를 예약하는 데 가장 적합합니다. 이 유틸리티는 관리자가 수동으로 유지 관리 모드를 설정하고 인스턴스를 다시 부팅하고 유지 관리 모드 설정을 해제해야 하는 전체 패키지 업그레이드에는 실용적이지 않습니다. 다른 업그레이드 유형에 대한 자세한 내용은 "GitHub Enterprise 서버 업그레이드"을(를) 참조하세요.

패키지에 대한 새 설치를 예약하려면 다음을 사용합니다.

ghe-upgrade-scheduler -c "0 2 15 12 *" UPGRADE-PACKAGE-FILENAME

패키지에 대해 예약된 설치를 표시하려면 다음을 사용합니다.

$ ghe-upgrade-scheduler -s UPGRADE PACKAGE FILENAME
> 0 2 15 12 * /usr/local/bin/ghe-upgrade -y -s UPGRADE-PACKAGE-FILENAME > /data/user/common/UPGRADE-PACKAGE-FILENAME.log 2>&1

패키지에 대해 예약된 설치를 제거하려면 다음을 사용합니다.

ghe-upgrade-scheduler -r UPGRADE PACKAGE FILENAME

사용자 관리

ghe-license-usage

이 유틸리티는 설치 사용자 목록을 JSON 형식으로 내보냅니다. 인스턴스가 GitHub Enterprise Cloud에 연결된 경우 GitHub Enterprise Server는 이 정보를 사용해 라이선스 정보를 GitHub Enterprise Cloud에 보고합니다. 자세한 내용은 "GitHub 연결 관리"을(를) 참조하세요.

기본적으로 결과 JSON 파일의 사용자 목록은 암호화됩니다. 더 많은 옵션을 이용하려면 -h 플래그를 사용합니다.

ghe-license-usage

ghe-org-membership-update

이 유틸리티는 인스턴스의 모든 구성원에 기본 조직 구성원 자격 표시 여부 설정을 적용합니다. 자세한 내용은 "조직 멤버 자격 표시 유형 구성"을 참조하세요. 설정 옵션은 public 또는 private입니다.

ghe-org-membership-update --visibility=SETTING

ghe-user-csv

이 유틸리티는 설치의 모든 사용자 목록을 CSV 형식으로 내보냅니다. CSV 파일에는 메일 주소, 사용자 유형(예: 관리자, 사용자), 리포지토리 수, SSH 키 수, 조직 멤버 자격 수, 마지막으로 기록된 IP 주소 등이 포함됩니다. 더 많은 옵션을 이용하려면 -h 플래그를 사용합니다.

ghe-user-csv -o > users.csv

ghe-user-demote

이 유틸리티는 지정된 사용자를 관리자 상태에서 일반 사용자의 상태로 강등합니다. 웹 UI를 사용하여 이 작업을 수행하는 것이 좋지만 ghe-user-promote 유틸리티가 잘못 실행되고 CLI에서 사용자를 다시 강등해야 하는 경우 이 유틸리티를 제공합니다.

ghe-user-demote USERNAME

ghe-user-promote

이 유틸리티는 지정된 사용자 계정을 사이트 관리자로 승격합니다.

ghe-user-promote USERNAME

ghe-user-suspend

이 유틸리티는 지정된 사용자를 일시 중단하여 리포지토리에서 로그인, 푸시 또는 끌어오지 못하게 합니다.

ghe-user-suspend USERNAME

ghe-user-unsuspend

이 유틸리티는 지정된 사용자를 일시 중단하지 않고 리포지토리에서 로그인, 푸시 및 풀하기 위한 액세스 권한을 부여합니다.

ghe-user-unsuspend USERNAME