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 のエンタープライズ設定を使用して、お知らせバナーを設定することもできます。 詳しくは、「Enterprise のユーザメッセージをカスタマイズする」を参照してください。
ghe-aqueduct
このユーティリティは、アクティブなものとキュー内にあるもの両方のバックグラウンドジョブに関する情報を表示します。 これは、すべてのページの上部にある管理統計バーと同じジョブ数を表示します。
このユーティリティは、Aqueduct サーバーでバックグラウンド ジョブの処理に問題があるかどうかを識別するのに役立ちます。 以下のどのシナリオも Aqueduct の問題を示している可能性があります。
- 背景のジョブの数が増えていますが、実行中のジョブの数は同じままです。
- イベントフィードが更新されない。
- webhook はトリガーされていません。
- 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
このユーティリティは、既存の [Management Console] の設定をすべて消去します。
ヒント: 通常、これを実行するのは、サポートに連絡し、サポートからそうするように依頼された場合だけです。
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
このユーティリティは、[Management Console] の設定の適用や、システムサービスのリロード、アプリケーションサービスのリロード、保留中のデータベースマイグレーションを行います。 これは、[Management Console] の Web 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
このユーティリティにより、インストールのメンテナンスモードの状態を制御できます。 これは主に舞台裏で [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-promote
コマンドは実行前に常に確認を求めます。
ユーティリティでは以下のオプションを使用できます。
-u
フラグはユーザー名を指定します。 このフラグを使用して特定ユーザーに Organization のオーナー権限を付与します。 すべてのサイト管理者を指定された組織に昇格させるため、-u
フラグを省略します。-o
フラグは組織を指定します。 このフラグを使用して特定の Organization でオーナー権限を付与します。 指定されたサイト管理者にすべての組織のオーナー権限を付与するには、-o
フラグを省略します。-a
のフラグは、すべてのサイト管理者にすべての組織のオーナー権限を与えます。-y
フラグは手動の確認を回避します。
このユーティリティは、非サイト管理者をすべての Organization のオーナーに昇格させることはできません。 ghe-user-promote を使用すれば、通常のユーザー アカウントをサイト管理者に昇格させることができます。
特定の Organization の Organization のオーナーの権限を特定のサイト管理者に与える
ghe-org-admin-promote -u USERNAME -o ORGANIZATION
全ての Organization で特定のサイトアドミンに Organizationのオーナー権限を与える
ghe-org-admin-promote -u USERNAME
特定の Organization で全てのサイトアドミンに Organizationのオーナー権限を与える
ghe-org-admin-promote -o ORGANIZATION
全ての Organization で全てのサイトアドミンに Organization のオーナー権限を与える
ghe-org-admin-promote -a
ghe-reactivate-admin-login
このコマンドを使用して、アカウント ロックアウトの後に [Management Console] のロックを直ちに解除します。 お使いの GitHub Enterprise Server インスタンス の認証ポリシーを構成するには、「Configuring rate limits (レート制限を構成する)」をご覧ください。
ghe-reactivate-admin-login
ghe-saml-mapping-csv
このユーティリティを使うとと、管理者は、インスタンスでのユーザーの SAML NameID
マッピングを出力または更新できます。 このユーティリティでは、既存のすべてのマッピングが一覧表記されている CSV ファイルを出力できます。 また、結果のファイルを編集し、ユーティリティを使ってファイルから新しいマッピングを割り当てることで、インスタンスでのユーザーのマッピングを更新することもできます。
インスタンスでのすべてのユーザー SAML NameID
マッピングの一覧を含む CSV ファイルを出力するには、次のコマンドを実行します。
ghe-saml-mapping-csv -d
デフォルトでは、ユーティリティはファイルを /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
このユーティリティを使用すると、認証用の新しい ルート サイト管理者 パスワードを [Management Console] に設定できます。 詳しくは、「管理コンソールへのアクセスの管理」を参照してください。
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キーの報告を作成します。 ユーザーのキーを一括アクションとして取り消すことができます。 このユーティリティは弱いシステム キーを報告します。[Management Console] でこのキーを手動で取り消す必要があります。
# 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 形式でなければなりません。 さらに、証明書プロバイダーが 1 つのファイルに複数の CA 証明書を含めている場合は、それらを個別のファイルに分けて ghe-ssl-ca-certificate-install
に一度に 1 つずつ渡す必要があります。
S/MIME コミット署名の検証のために証明書チェーンを追加するには、このユーティリティを実行します。 詳しくは、「コミット署名の検証について」を参照してください。
他のサーバーが自己署名 SSL 証明書または必要な CA バンドルがついていない SSL 証明書を使っているため お使いの GitHub Enterprise Server インスタンスがそのサーバーに接続できない場合、このユーティリティを実行します。 これを確認する 1 つの方法は、お使いの 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
構成を適用するには、次のコマンドを実行します。 構成の実行中に、お使いの GitHub Enterprise Server インスタンス 上のサービスが再起動する可能性があり、これによりユーザーに短時間のダウンタイムが発生する場合があります。
ghe-config-apply
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
このユーティリティは、管理人がレビューして問題を突き止めるための webhook のデリバリログを表示します。
ghe-webhook-logs
過去 1 日の失敗したフック デリバリーをすべて表示するには:
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
クラスタリング
ghe-cluster-balance
このユーティリティを使用すると、クラスターの割り当ての状態を確認してから、問題のある割り当てを再調整することで、クラスター ノード間で割り当ての均等な分散を適用できます。 詳しくは、「クラスター ワークロードの再調整」を参照してください。
バランスを保てるジョブとその関連する割り当て分散のリストを出力するには、次のようにします。
ghe-cluster-balance status
特定のジョブまたはジョブのコンマ区切りリストの割り当て数を出力するには、次のようにします。
ghe-cluster-balance -j JOB
特定のジョブまたはジョブのコンマ区切りリストに対する問題のある割り当てを再調整するには、次のようにします。
ghe-cluster-balance rebalance -j JOB
ghe-cluster-balance rebalance
では次のフラグを使用できます。
フラグ | 説明 |
---|---|
-j/--job-names | 再調整するジョブを指定します。 ジョブ名または名前のコンマ区切りリストが受け入れられます。 |
-n/--dry-run | ユーティリティによって実行される Nomad 操作を、実際に実行せずに出力します。 -j/--job-name と共に使用できます。 |
-y/--yes | ユーザー プロンプトをスキップします。 |
w/--workers | 停止する同時ジョブの最大数を指定し、再割り当てが完了するまで待ちます。 既定値は 4 です。 |
-t/--timeout | 停止した割り当てでジョブが置き換えられるまで待つ秒数を指定します。 既定値は 300 秒です。 |
指定されたシェルの完了スクリプトを出力するには、次のようにします。
ghe-cluster-balance completion
ユーティリティと有効なサブコマンドの簡単な説明を表示するには、次のようにします。
ghe-cluster-balance help
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
このユーティリティは、Geo-replication またはクラスタリングのいずれかの構成で、各ノードからの重要なログを含む Support Bundle tarball を作成します。
既定では、コマンドは /tmp に tarball を作成しますが、SSH 経由で簡単にストリーミングできるように tarball を STDOUT
に cat
させることもできます。 これは、Web UI が反応していないか、 /setup/support からサポート バンドルをダウンロードできないときに役立ちます。 より古いログを含む "拡張" バンドルを生成するときにこのコマンドを使う必要があります。 さらに、このコマンドを使って GitHub Enterprise のサポートにクラスタリングSupport Bundle を直接アップロードすることができます。
標準のバンドルを作成するには、以下のようにします。
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 2days -o" > support-bundle.tgz
過去 8 日間のデータを含む拡張バンドルを作成するには
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
Note
クラスター構成のインスタンスで、フェールオーバー後、新しく昇格されたノードに以前のプライマリ ノードでアクセスできました。 これは、パッチ リリース 3.9.13 でフィックスされました。 詳細については、「リリース ノート」を参照してください。
このフィックスの結果として、 ghe-cluster-failover
古いプライマリ クラスターからブロックする IP を識別し、それらに書き込みます/data/user/common/cluster-ip-blocklist
。 フェールオーバーが完了した後、コマンドが実行され ghe-cluster-block-ips
、新しいアクティブなクラスター上の IP がブロックされます。
さらに、これらのパッチ リリースでは、ghe-cluster-block-ips
、ghe-cluster-block-ip
、ghe-cluster-unblock-ips
、およびghe-cluster-unblock-ip
コマンドも導入されました。 これらのコマンドを使用すると、新しく昇格したクラスターにアクセスできる IP を手動で制御でき、 ghe-cluster-failover
コマンド全体の実行に関連する長い構成の実行を回避できます。
この ghe-cluster-failover
ユーティリティを使用すると、レプリカ クラスターにフェールオーバーできます。 詳しくは、「レプリカ クラスターへのフェールオーバーを開始する」を参照してください。
ghe-cluster-failover
ghe-cluster-block-ips
このユーティリティを使用すると、 /data/user/common/cluster-ip-blocklist
ファイル内のすべての IP をブロックできます。 このコマンドは、IP のリストを読み取り、現在のクラスター内の各Nodeを呼び出して ghe-cluster-block-ip
各 IP をブロックします。
この /data/user/common/cluster-ip-blocklist
ファイルは IPv4 アドレスのみをサポートします。
ghe-cluster-block-ips
ghe-cluster-block-ip
このユーティリティを使用すると、特定のNode上の特定の IP アドレスをブロックできます。 現在のホストの IP、または現在の cluster.conf
内のホストの IP はいずれもブロックすることはできません。
ghe-cluster-block-ip IPV4 ADDRESS
ghe-cluster-unblock-ips
このユーティリティを使用すると、クラスター内の各Nodeで現在ブロックされているすべての IP のブロックを解除できます。
ghe-cluster-unblock-ips
ghe-cluster-unblock-ip
このユーティリティを使用すると、特定のNode上の特定の IP アドレスのブロックを解除できます。
ghe-cluster-unblock-ip IPV4 ADDRESS
ghe-dpages
このユーティリティを使えば、分散GitHub Pagesサーバーを管理できます。
ghe-dpages
リポジトリの場所と健全性の概要を表示するには、以下のようにします。
ghe-dpages status
クラスタノードの退避に先立ってGitHub Pagesストレージサービスを退避するには、以下のようにします。
ghe-dpages evacuate pages-server-UUID
ghe-spokesctl
このユーティリティでは、分散型 Git サーバーにあるリポジトリのレプリケーションを管理することができます。
ghe-spokesctl
リポジトリが格納されているサーバーを表示するには、次のようにします。
ghe-spokesctl routes
クラスタノード上のストレージサービスを退避するには、以下のようにします。
ghe-spokesctl server set evacuating git-server-UUID
ghe-storage
このユーティリティを使用すると、クラスタノードからの待避の前にストレージサービスをすべて待避させることができます。
ghe-storage evacuate storage-server-UUID
nes
このユーティリティを使用すると、Node Eligibility Service を使ってクラスター ノードの正常性を監視できます。 既定では、Node Eligibility Service は無効になっています。 詳しくは、「ノード適格性サービスを使用したクラスター ノードの正常性の監視」を参照してください。
クラスターのノードの正常性を表示するには、次のようにします。
nes get-cluster-health
TTL 設定を確認するには、次のようにします。
nes get-node-ttl all
fail
状態の TTL を分単位で設定するには、次のようにします。
nes set-node-ttl fail MINUTES
fail
状態の TTL は、warn
状態の TTL よりも大きくする必要があります。
warn
状態の TTL を分単位で設定するには、次のようにします。
nes set-node-ttl warn TIME
ホスト名が HOSTNAME のノードがオフラインになったときに、Node Eligibility Service で管理アクションを実行できるかどうかを確認するには、次のようにします。
nes get-node-adminaction HOSTNAME
ホスト名が HOSTNAME のノードがオフラインになったときに、Node Eligibility Service で自動的に管理アクションを実行できるようにするには、次のようにします。
nes set-node-adminaction approved HOSTNAME
ホスト名が HOSTNAME のノードをオフラインにする Node Eligibility Service の機能を取り消すには、次のようにします。
nes set-node-adminaction approved HOSTNAME
クラスターに再追加するためのノードの適格性を手動で更新するには、次のようにします。
nes set-node-eligibility eligible HOSTNAME
Git
ghe-btop
現在の Git 作業用の top
にあたるインターフェイス。
ghe-btop [ <port number> | --help | --usage ]
ghe-governor
このユーティリティは、Git トラフィックの分析に役立ちます。 これは、/data/user/gitmon
下にある "ガバナー" データ ファイルに対してクエリを実行します。 GitHub は、ファイルごとに 1 時間のデータを持ち、2 週間保持します。 詳しくは、GitHub Community のガバナーを使用した 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
引数を追加して、ブランチ、タグ、またはその他の ref から参照されていない到達できない Git オブジェクトを削除できます。これは、以前に削除された機密情報を直ちに削除する場合に特に便利です。
ghe-repo-gc USERNAME/REPONAME
GitHub Actions
ghe-actions-check
このユーティリティは、GitHub Actions のすべてのサービスが正常であることを確認します。 詳細については、「GitHub Enterprise Server の GitHub Actions を使い始める」および「Enterprise 向け GitHub Actions のトラブルシューティング」を参照してください。
ghe-actions-check
ghe-actions-precheck
このユーティリティは、お使いの GitHub Enterprise Server インスタンス上の GitHub Actions の BLOB ストレージ構成をテストします。 インスタンスに対して GitHub Actions を有効にする前に、このユーティリティを使用してストレージ構成を確認できます。
GitHub Actions の構成について詳しくは、「GitHub Enterprise Server の GitHub Actions を使い始める」をご覧ください。
注: このユーティリティは、ストレージ プロバイダーへの資格情報ベースの接続を使用する構成でのみ機能します。 OpenID Connect (OIDC) 構成をテストするには、ghe-actions-test-storage-with-oidc
を使用します。
ghe-actions-precheck -p [PROVIDER] -cs ["CONNECTION-STRING"]
ストレージ システムが正しく構成されている場合は、次の出力が表示されます。
All Storage tests passed
ghe-actions-test-storage-with-oidc
このユーティリティは、OpenID Connect (OIDC) を使用する場合に、お使いの GitHub Enterprise Server インスタンス 上の GitHub Actions の BLOB ストレージ プロバイダーが有効であることをチェックします。
注: このユーティリティは、OpenID Connect (OIDC) 構成を使用する設定でのみ機能します。 認証情報ベースの構成をテストするには、ghe-actions-precheck
を使用します。
ghe-actions-test-storage-with-oidc -p [PROVIDER] -cs ["CONNECTION-STRING"]
ghe-actions-stop
このユーティリティはGitHub Actionsがお使いの GitHub Enterprise Server インスタンス上での実行を停止します。
注:
- 通常、これを実行するのは、サポートに連絡し、サポートからそうするように依頼された場合だけです。
- 高可用性構成では、プライマリからこのコマンドを実行します。
ghe-actions-start
このユーティリティは、以前に停止した後、お使いの GitHub Enterprise Server インスタンス で GitHub Actions を起動します。
注:
- 通常、これを実行するのは、サポートに連絡し、サポートからそうするように依頼された場合だけです。
- 高可用性構成では、プライマリからこのコマンドを実行します。
システムが正しく構成されている場合は、次の出力が表示されます。
Actions was enabled!
GitHub Packages
ghe-check-blob-connection
このユーティリティは、GitHub Packages の BLOB ストレージ プロバイダーが お使いの GitHub Enterprise Server インスタンス で有効であることをチェックします。
ghe-check-blob-connection --help
以前に接続を設定している場合は、パラメーターを指定せずにコマンドを直接実行することで、テストを実行できます。
ghe-check-blob-connection
システムが正しく構成されている場合は、次の出力が表示されます。
All Storage tests passed
高可用性
ghe-repl-promote
このコマンドにより、既存のレプリカ ノードでのレプリケーションが無効になり、元のプライマリ ノードと同じ設定を使用してレプリカ ノードがプライマリ ノードに変換されます。 すべてのレプリケーション サービスは有効になります。 詳しくは、「レプリカアプライアンスへのフェイルオーバーの開始」を参照してください。
レプリカを昇格させても、既存のアプライアンスのためのレプリケーションは自動的にセットアップされません。 レプリカを昇格させたあと、希望する場合には新しいプライマリから既存のアプライアンス及び以前のプライマリへのレプリケーションをセットアップできます。
ghe-repl-promote
ghe-repl-setup
既存のノードでこのユーティリティを実行して、高可用性構成の有効化を開始します。 このユーティリティでは、ghe-repl-start
でレプリケーションを開始する前に、ノードがスタンバイ モードになります。 詳しくは、「High Availabilityレプリカの作成」を参照してください。
ユーティリティを実行した後、ノードで次の構成が行われます。
- 2 つのノード間の通信のために、暗号化された WireGuard VPN トンネルが確立されます。
- レプリケーションのためのデータベースサービスが設定され、起動されます。
- アプリケーションサービスは無効化されます。 HTTP または HTTPS、Git、あるいはその他のサポートされているプロトコル経由でレプリカ ノードにアクセスしようとすると、"レプリケーション モードのサーバー" メッセージ、メンテナンス ページ、またはエラー メッセージが表示されます。
このユーティリティを実行するときは、PRIMARY-NODE-IP をインスタンスのプライマリ ノードの IP アドレスに置き換えます。
ghe-repl-setup PRIMARY-NODE-IP
ghe-repl-start
このユーティリティによって、ノード上のすべてのデータストアのレプリケーションが開始されます。 ghe-repl-setup
を実行した後、このユーティリティを実行します。 詳しくは、「High Availabilityレプリカの作成」を参照してください。
ghe-repl-start
ghe-repl-status
このユーティリティによって、ノード上のレプリケーションの状態が表示され、各データストアのレプリケーション ストリームに対して OK
、WARNING
または CRITICAL
状態が返されます。 詳しくは、「High Availability 設定の監視」を参照してください。
- レプリケーション チャネルのいずれかが
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 インスタンスから他に移行するために役立つハイファイ ツールです。 インスタンスを統合、もしくは Organization やユーザー、Team、リポジトリを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
このユーティリティは、Team Foundation Version Control (TFVC) からインポートします。 詳しくは、「管理シェルを使用して他のバージョン コントロール システムからインポートする」を参照してください。
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
このユーティリティは、さまざまな確認を行うとともに、インストールについての情報を集めます。この情報は、サポートチームが問題の診断に役立てるために、送信することができます。
現在のところ、このユーティリティの出力は、[Management Console] で診断情報をダウンロードすることに似ていますが、時間の経過とともに、Web UI では利用できない改善がさらに追加されている可能性があります。 詳しくは、「GitHub Support へのデータの提供」を参照してください。
ghe-diagnostics
ghe-support-bundle
注: お使いの GitHub Enterprise Server インスタンス が geo レプリケーション構成内にあるかインスタンスがクラスターの場合、サポートバンドルを取得するには ghe-cluster-support-bundle
コマンドを使う必要があります。 詳しくは、「コマンド ライン ユーティリティ」を参照してください。
既定では、コマンドは /tmp に tarball を作成しますが、SSH 経由で簡単にストリーミングできるように tarball を STDOUT
に cat
させることもできます。 これは、Web UI が反応していないか、 /setup/support からサポート バンドルをダウンロードできないときに役立ちます。 より古いログを含む "拡張" バンドルを生成するときにこのコマンドを使う必要があります。 さらに、このコマンドを使って GitHub Enterprise のサポートに Support Bundle を直接アップロードすることができます。
標準のバンドルを作成するには、以下のようにします。
ssh -p 122 admin@HOSTNAME -- 'ghe-support-bundle -o' > support-bundle.tgz
過去 2 日間のデータを含む標準バンドルを作成するには
ssh -p 122 admin@HOSTNAME -- "ghe-support-bundle -p 2days -o" > support-bundle.tgz
過去 8 日間のデータを含む拡張バンドルを作成するには
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 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 -vv
を STDIN
にストリームする特定のデータに置き換え、Verbose Replication Status
をデータの簡単な説明に置き換える必要があります。 通常、これを実行するのは、サポートに連絡し、サポートからそうするように依頼された場合だけです。
GitHub Enterprise Server のアップグレード
ghe-チェック-background-upgrade-jobs
機能リリースへのアップグレード中に、このユーティリティによって お使いの GitHub Enterprise Server インスタンス 上のバックグラウンド ジョブの状態が表示されます。 バックツーバック アップグレードを実行している場合は、次のアップグレードに進む前に、このユーティリティを使用して、すべてのバックグラウンド ジョブが完了したことをチェックする必要があります。
注: GitHub Enterprise Server 3.9 ghe-check-background-upgrade-jobs
とともに使用するには、インスタンスはバージョン 3.9 を実行する必要があります。 7 以降。
ghe-check-background-upgrade-jobs
ghe-migrations
機能リリースへのアップグレード中に、このユーティリティによって お使いの GitHub Enterprise Server インスタンス 上のアクティブなデータベース移行の状態が表示されます。 出力には、移行のバージョン識別子、移行の名前、移行の状態、および移行の現在の期間が含まれます。
移行のリストを表示するには、次のようにします。
ghe-migrations
既定では、ユーティリティによって 10 行のテーブルが出力されます。 テーブルの高さを行単位で調整するには、次のようにします。
ghe-migrations -height LINES
既定では、ビジュアライザーは 1 秒ごとに更新されます。 ビジュアライザーを更新する期間を秒単位で指定するには、次のようにします。
ghe-migrations -refresh_rate SECONDS
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-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 の Cron のエントリ」を参照してください。
ghe-upgrade-scheduler
ユーティリティは、ほとんどの場合にメンテナンス モードや再起動を必要としないホットパッチ アップグレードのスケジュール設定に最適です。 このユーティリティは、管理者が手動でメンテナンス モードを設定し、インスタンスを再起動して、メンテナンス モードを設定解除する必要がある、パッケージの完全アップグレードには適していません。 さまざまなアップグレードの種類について詳しくは、「GitHub Enterprise Server をアップグレードする」をご覧ください。
パッケージの新しいインストールをスケジュールするには以下のようにします。
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 Connect の管理」を参照してください。
デフォルトでは、結果の 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 キーの数、組織のメンバーの数、最後にログインしたときの IP アドレスなどが含まれています。その他のオプションには -h
フラグを使用します。
ghe-user-csv -o > users.csv
ghe-user-demote
このユーティリティは、指定のユーザーをアドミンステータスから一般ユーザーのステータスに変更します。 このアクションは、Web 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