このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

コマンドラインのユーティリティ

GitHub Enterprise Server には、特定の問題を解決したり特定のタスクを実行するのに役立つさまざまなユーティリティが搭載されています。

SSH 管理ユーザとしてサインインした後では、VM 上のどこからでもこれらのコマンドを実行できます。 詳しくは、"管理シェル(SSH)へのアクセス方法を参照してください。"

一般的

ghe-announce

このユーティリティは、あらゆる GitHub Enterprise ページの上部にバナーを設定します。 これを使用すればユーザにメッセージを配信することができます。

GitHub Enterprise Server の Enterprise 設定を使用して、お知らせバナーを設定することもできます。 詳しい情報については「インスタンス上でのユーザメッセージをカスタマイズする」を参照してください。

# 皆に見えるメッセージを設定する
$ ghe-announce -s MESSAGE
> Announcement message set.
# 以前設定したメッセージを削除する
$ ghe-announce -u
> Removed the announcement message

ghe-check-disk-usage

このユーティリティは、大きなファイルがないか、あるいは削除されているがファイルハンドルがまだ開いているファイルがないか、ディスクをチェックします。 これは、ルートパーティションで空き容量を確保しようとしているときに実行してください。

ghe-check-disk-usage

ghe-cleanup-caches

このユーティリティは、ルートボリュームでディスク領域を将来余分に取り過ぎる可能性があるさまざまなキャッシュをクリーンアップします。 ルートボリュームのディスク領域の使用量が時間の経過とともに著しく増加していることがわかった場合は、このユーティリティを実行して全体的な使用量を減らすのに役立つかどうかを確認することをおすすめします。

ghe-cleanup-caches

ghe-cleanup-settings

このユーティリティは、既存の Management Console の設定をすべて消去します。

参考: 通常これを実行するのは、サポートに連絡して、サポートから求められたときだけです。

ghe-cleanup-settings

ghe-config

このユーティリティを使用すると、GitHub Enterprise Serverのインスタンス の設定を取得して変更することができます。

$ ghe-config core.github-hostname
# `core.github-hostname` のコンフィグレーション値を獲得する
$ ghe-config core.github-hostname 'example.com'
# `core.github-hostname` のコンフィグレーション値を `example.com`にする
$ ghe-config -l
# コンフィグレーションの全ての値を表示

cluster.conf でノードの Universally Unique Identifier (UUID) を見つけることができます。

$ ghe-config HOSTNAME.uuid

API レート制限からユーザのリストを除外できます。 詳しい情報については、「REST API のリソース」を参照してください。

$ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions"
# ユーザーの hubot と github-actions をレート制限から除外する

ghe-config-apply

このユーティリティは、Management Console の設定の適用や、システムサービスのリロード、アプリケーションサービスのリロード、保留中のデータベースマイグレーションを行います。 これは、Management Console の Web UIで [Save settings] をクリックすること、または /setup/api/configure エンドポイントに POST リクエストを送信するのと同様です。

手動で実行することはないと思いますが、設定を保存する過程をSSH 経由で自動化したい場合に利用できます。

ghe-config-apply

ghe-console

このユーティリティは、GitHub Enterprise アプライアンスで GitHub Rails コンソールを開きます。 GitHub Enterprise Supportからの指示がない場合は、このコマンドは使わないでください。 間違った利用は、ダメージやデータの損失を招くことがあります。

ghe-console

ghe-dbconsole

このユーティリティは、GitHub Enterprise アプライアンスで MySQL データベースセッションを開きます。 GitHub Enterprise Supportからの指示がない場合は、このコマンドは使わないでください。 間違った利用は、ダメージやデータの損失を招くことがあります。

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 サービスを設定している場合があります。 詳しい情報については、GitHub ブログ で「GitHub サービスの非推奨をアナウンスする」、または「GitHub サービスを置き換える」を参照してください。 このコマンドの詳細や追加のオプションについては、-h フラグを使用してください。

ghe-legacy-github-services-report

ghe-logs-tail

このユーティリティでは、インストールから関連するすべてのログファイルを末尾に記録できます。 オプションを渡すことでログを特定のセットに制限できます。 追加オプションを確認するには -h フラグを使用してください。

ghe-logs-tail

ghe-maintenance

このユーティリティにより、インストールのメンテナンスモードの状態を制御できます。 これは主に舞台裏で Management Console によって使用されるように設計されていますが、直接使用することもできます。

ghe-maintenance -h

ghe-motd

このユーティリティは、管理者が管理シェルを介してインスタンスにアクセスしたときに表示される今日のメッセージ (MOTD) を再表示します。 出力には、インスタンスの状態の概要が含まれます。

ghe-motd

ghe-nwo

このユーティリティを使って、リポジトリの ID でリポジトリの名前とオーナーを検索することができます。

ghe-nwo REPOSITORY_ID

ghe-org-admin-promote

このコマンドを使用して、アプライアンスでサイトの管理者権限を持つユーザーに Organization のオーナー権限を付与したり、単一の Organization 内の任意の単一ユーザーに Organization のオーナー権限を付与したりします。 ユーザーや Organization を指定する必要があります。 確認を省略するために-y フラグを使用しない限り、ghe-org-admin-encourage コマンドは実行前に常に確認を求めます。

ユーティリティでは以下のオプションを使用できます。

  • -uのフラグはユーザ名を指定します。 このフラグを使用して特定ユーザーに Organization のオーナー権限を付与します。 すべてのサイト管理者を指定された Organization に昇格させるには、-uフラグを省略します。
  • -oのフラグは Organization を指定します。 このフラグを使用して特定の Organization でオーナー権限を付与します。 すべての Organization で指定されたサイト管理者にオーナー権限を付与するには、-o フラグを省略します。
  • -a のフラグは、全ての Organization で全てのサイトアドミンにコードオーナー権限を与えます。
  • -y フラグは手動の確認を省略します。

このユーティリティは、非サイト管理者をすべての Organization のオーナーに昇格させることはできません。 ghe-user-promoteを使用すれば、通常のユーザーアカウントをサイト管理者に昇格させることができます。

特定の Organization の Organization のオーナーの権限を特定のサイト管理者に与える

ghe-org-admin-promote -u ユーザ名 -o ORGANIZATION

全ての Organization で特定のサイトアドミンに Organizationのオーナー権限を与える

ghe-org-admin-promote -u ユーザ名

特定の Organization で全てのサイトアドミンに Organizationのオーナー権限を与える

ghe-org-admin-promote -o ORGANIZATION

全ての Organization で全てのサイトアドミンに Organization のオーナー権限を与える

ghe-org-admin-promote -a

ghe-reactivate-admin-login

10分以内にログインを10回失敗した場合、このコマンドを使って Management Console を直ちに解除できます。

$ ghe-reactivate-admin-login

ghe-resque-info

このユーティリティは、アクティブでありかつキュー内にある、バックグラウンドジョブに関する情報を表示します。 あらゆるページの上部には、管理統計バーと同じジョブ数が表示されます。

このユーティリティは、Resque サーバーでバックグラウンドジョブの処理に問題があるかどうかを識別するのに役立ちます。 以下のどのシナリオも Resque の問題を示している可能性があります。

  • 背景のジョブの数が増えていますが、実行中のジョブの数は同じままです。
  • イベントフィードが更新されない。
  • webhook はトリガーされていません。
  • Git プッシュ後、ウェブインタフェースが更新されない。

Resque の故障を懸念している場合は、GitHub Enterprise Support または GitHub Premium Support に連絡してください。

このコマンドでは、キューでのジョブ停止または再開をすることができます。

$ ghe-resque-info
# キューと現在キューに入っているジョブの数を表示する
$ ghe-resque-info -p QUEUE
# 特定のキューを停止する
$ ghe-resque-info -r QUEUE
# 特定のキューを再開する

ghe-saml-mapping-csv

このユーティリティは、SAMLレコードのマップを支援します。

GitHub Enterprise ServerユーザのためのすべてのSAMLマッピングを含むCSVファイルを作成するには、次のようにします。

$ ghe-saml-mapping-csv -d

新しい値でのSAMLマッピングの更新のドライランを実行するには、次のようにします。

$ ghe-saml-mapping-csv -u -n -f /path/to/file

新しい値でSAMLマッピングを更新するには、次のようにします。

$ ghe-saml-mapping-csv -u -f /path/to/file

ghe-service-list

このユーティリティは、アプライアンス に開始または停止された(実行中または待機中)、全てのサービスの一覧を表示します。

$ ghe-service-list
start/running
  - github-resqued, process 12711
  - github-unicorn, process 12726
  - github-gitauth, process 12743
  - git-daemon, process 12755
  - babeld, process 12771
  - github-svn-proxy, process 12802
  - gist-unicorn, process 12832
  - gist-resqued, process 12881
  - render-unicorn, process 12939
  - hookshot-unicorn, process 13076
  - nodeload2, process 13192
  - slumlord-unicorn, process 13304
  - ghe-storage, process 2012
  - enterprise-manage-unicorn, process 2024
  - enterprise-manage-resque, process 2053

stop/waiting
  - ghe-replica-mode

ghe-set-password

ghe-set-password では、Management Console に認証するための新しいパスワードを設定することができます。

ghe-set-password <新しいパスワード>

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
SSH のホストキーを廃棄しますか? /etc/ssh/ssh_host_* にある既存キーを削除し、新しいキーを生成します。 [y/N]

# 'Y' を押して、削除を確認するか、-y スイッチを使ってこのプロンプトを回避する

> SSH host keys have successfully been rolled.

ghe-ssh-weak-fingerprints

このユーティリティは、GitHub Enterprise のアプライアンスに保存されている脆弱なSSHキーの報告を作成します。 ユーザのキーを一括アクションとして取り消すことができます。 このユーティリティは、脆弱なシステムキーについて報告します。取り消しは、Management Console で手動的に行う必要があります。

# ユーザのシステムの脆弱なキーの報告を表示
$ ghe-ssh-weak-fingerprints

# ユーザの全ての脆弱なキーを取り消す
$ 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 形式でなければなりません。 さらに、証明書の提供者が1つのファイルに複数のCA証明書を含めている場合は、それらを個別のファイルに分けて ghe-ssl-ca-certificate-install に各々を渡す必要があります。

S/MIME コミット署名の検証のために証明書チェーンを追加するには、このユーティリティを実行します。 詳細は「コミット署名の検証について」を参照してください。

他のサーバが自己署名証明書または必要な 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 /path/to/certificate

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

このユーティリティは、管理人がレビューして問題を突き止めるための webhook のデリバリーログを表示します。

ghe-webhook-logs

過去1日の失敗したフックデリバリーを表示するには、以下のようにします。

ghe-webhook-logs -f -a YYYYMMDD

フックのペイロードの全体や結果、デリバリーの例外を表示するには、以下のようにします。

ghe-webhook-logs -g delivery-guid -v

クラスタリング

ghe-cluster-status

GitHub Enterprise Server のクラスターデプロイメントでノードとサービスの健全性を確認します。

$ ghe-cluster-status

ghe-cluster-support-bundle

このユーティリティは、Geo-replication またはクラスタリングのいずれかの構成で、各ノードからの重要なログを含む Support Bundle tarball を作成します。

このコマンドは、デフォルトの設定では、/tmp に TAR 書庫を作成しますが、簡単に SSH 経由でストリーミングできるように、TAR 書庫を STDOUTcatできます。 ウェブ UI が反応していないか、/setup/support から Support Bundle をダウンロードできないときに役立ちます。 より古いログを含む拡張バンドルを生成するときにこのコマンドを使う必要があります。 さらに、このコマンドを使って GitHub Enterprise のサポートにクラスタリングSupport Bundle を直接アップロードすることができます。

標準のバンドルを作成するには、以下のようにします。

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

拡張バンドルを作成するには、以下のようにします。

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

バンドルをGitHub Supportに送信するには、以下のようにします。

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

バンドルをGitHub Supportに送信し、そのバンドルをチケットに関連づけるには以下のようにします。

$ ssh -p 122 admin@hostname -- 'ghe-cluster-support-bundle -t ticket-id'

ghe-cluster-failover

アクティブクラスタノードからパッシブクラスタノードにフェイルオーバーします。 詳しい情報については、「レプリカクラスタへのフェイルオーバーを開始する」を参照してください。

ghe-cluster-failover

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 [  | --help | --usage ]

ghe-repo

このユーティリティでは、リポジトリのディレクトリを変更し、gitユーザとしてインタラクティブシェルを開けることができます。 git-*git-nw-* などのコマンドを使って、手動的な監査やメンテナンスを行うことができます。

ghe-repo ユーザ名/reponame

ghe-repo-gc

このユーティリティは、パックの容量を最適化するために、手動的にリポジトリのネットワークをリパックします。 大きなリポジトリの場合、このコマンドではリポジトリの全体的なサイズを減らすことができます。 リポジトリのネットワークとの対話を通じて、GitHub Enterprise がこのコマンドを自動的に実行します。

任意の--prune の引数を付けて、ブランチやタグ、refに参照されていない、届かないGitオブジェクトを除くことができます。 これは、以前抹消した機密情報 を直ちに削除するのに役立ちます。

ghe-repo-gc ユーザ名/reponame

インポートとエクスポート

ghe-migrator

ghe-migrator は、他のGitHubインスタンスに移行するためのハイファイツールです。 インスタンスを統合、もしくは Organization やユーザ、Team、リポジトリをGitHub.comから GitHub Enterprise に移行することができます。

詳しくは、ユーザやOrganization、リポジトリデータの移行の説明書を参照してください。

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

このユーティリティは、Team Foundation Version Control (TFVC) からインポートします。 詳しい情報については「サードパーティのバージョン管理システムからのデータのインポート」を参照してください。

git-import-tfs-raw

git-import-rewrite

このユーティリティは、インポートされたリポジトリを書き直します。 これにより、作者名を変更したり、Subversion および TFVC では、フォルダーに基づいて Git ブランチがを生成したりすることができます。 詳しい情報については「サードパーティのバージョン管理システムからのデータのインポート」を参照してください。

git-import-rewrite

サポート

ghe-diagnostics

このユーティリティは、さまざまな確認を行い、問題を突き止めるためのサポートに送れるインスタレーションについて情報を集めます。

現在のところ、このユーティリティの出力は、Management Console で診断情報をダウンロードすることに似ていますが、時間の経過とともに、Web UI では利用できない改善がさらに追加されている可能性があります。 詳細は「"診断ファイルの作成と共有」を参照してください。

ghe-diagnostics

ghe-support-bundle

ノート:Geo-replication設定もしくはGitHub Enterpriseクラスタリングを利用しているなら、Support Bundleを取得するにはghe-cluster-support-bundleコマンドを使わなければなりません。 詳しい情報については「コマンドラインユーティリティ」を参照してください。

このユーティリティは、インスタンスから重要なログを含むSupport BundleのTAR書庫を作成します。

このコマンドは、デフォルトの設定では、/tmp に TAR 書庫を作成しますが、簡単に SSH 経由でストリーミングできるように、TAR 書庫を STDOUTcatできます。 ウェブ UI が反応していないか、/setup/support から Support Bundle をダウンロードできないときに役立ちます。 より古いログを含む拡張バンドルを生成するときにこのコマンドを使う必要があります。 さらに、このコマンドを使って GitHub Enterprise のサポートに Support Bundle を直接アップロードすることができます。

標準のバンドルを作成するには、以下のようにします。

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

拡張バンドルを作成するには、以下のようにします。

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

バンドルをGitHub Supportに送信するには、以下のようにします。

$ ssh -p 122 admin@hostname -- 'ghe-support-bundle -u'

バンドルをGitHub Supportに送信し、そのバンドルをチケットに関連づけるには以下のようにします。

$ ssh -p 122 admin@hostname -- 'ghe-support-bundle -t ticket-id'

ghe-support-upload

このユーティリティは、アプライアンスから GitHub Enterprise サポートに情報を送信します。 ローカルファイルを指定、またはSTDIN経由で最大100MBまでのデータのストリームを提供することができます。 アップロードされたデータは任意でサポートチケットと関連付けることができます。

ファイルをGitHub Supportに送信し、そのファイルをチケットに関連づけるには以下のようにします。

ghe-support-upload -f path/to/your/file -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-upgrade

このユーティリティは、アップグレードパッケージをインストール、または確認します。 アップグレードが失敗した場合や中断された場合は、このユーティリティを使用してパッチリリースをロールバックすることもできます。 詳細は「GitHub Enterprise Server をアップグレードする」を参照してください。

アップグレードパッケージを確認するには以下のようにします。

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

このユーティリティは、アップグレードパッケージの定期的なインストールを管理します。 定期的なインストールを表示、新規作成、削除することができます。 クーロン表現を使って、スケジュールを作る必要があります。 詳しい情報については、Wikipedia にあるクーロンのエントリーを参照してくださ

パッケージの新しいインストールをスケジュールするには以下のようにします。

$ 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-update-check

このユーティリティは、GitHub Enterprise の新規パッチのリリースがあるかどうかを確認します。 リリースが存在する場合、インスタンスに十分な容量があればパッケージをダウンロードします。 デフォルトでは、パッケージは /var/lib/ghe-updates に保存されます。 その後、管理人がアップグレードを実行できます

/var/lib/ghe-updates/ghe-update-check.status にダウンロードのステータスを含むファイルがあります。

-iのスイッチを使って、GitHub Enterprise の最新リリースを確認することができます。

$ ssh -p 122 admin@hostname -- 'ghe-update-check'

ユーザ管理

ghe-license-usage

このユーティリティは、インストールのユーザーのリストを JSON 形式でエクスポートします。 インスタンスが GitHub Enterprise Cloud に接続されている場合、GitHub Enterprise Server はこの情報を使用してライセンス情報を GitHub Enterprise Cloud に報告します。 For more information, see "Connecting your enterprise account to GitHub Enterprise Cloud ."

デフォルトでは、結果の JSON ファイル内のユーザのリストは暗号化されます。 その他のオプションを利用するには、-h のフラグを使ってください。

ghe-license-usage

ghe-org-membership-update

このユーティリティは、インスタンスでメンバー全員に対して、デフォルトの Organization メンバーシップの可視性の設定を必須化します。 詳しい情報については、「Organization メンバーの可視性の設定」を参照してください。 設定可能なオプションは、public または private です。

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

ghe-user-csv

このユーティリティは、インストール内のすべてのユーザのリストを CSV 形式でエクスポートします。 CSV ファイルにはメールアドレスやユーザの種類 (例えば、アドミンやユーザなど) や所有しているリポジトリの数、所有している SSH キーの数、Organization のメンバーの数、最後にログインしたときの IP アドレスなどが含まれています。 その他のオプションを利用するには、-h のフラグを使ってください。

ghe-user-csv -o > users.csv

ghe-user-demote

このユーティリティは、指定のユーザをアドミンステータスから一般ユーザのステータスに変更します。 このアクションは、ウェブ UI を使って行うことをおすすめします。このユーティリティを提供しているのは、誤ってghe-user-promote を実行してしまった場合に、CLI からユーザを降格させるためです。

ghe-user-demote some-user-name

ghe-user-promote

このユーティリティは、指定したユーザアカウントをサイト管理人に変更します。

ghe-user-promote some-user-name

ghe-user-suspend

このユーティリティは、指定したユーザのアカウントを停止して、ログインやプッシュ、リポジトリからのプルを行えないようにします。

ghe-user-suspend some-user-name

ghe-user-unsuspend

このユーティリティは、指定したユーザの停止状態を解除して、ログインやプッシュ、リポジトリからプルを行えるようにします。

ghe-user-unsuspend some-user-name

問題がまだ解決していませんか?