コマンドラインのユーティリティ
GitHub Enterprise Server には、特定の問題を解決したり特定のタスクを実行するのに役立つさまざまなユーティリティが搭載されています。
ここには以下の内容があります:
- 一般的
- ghe-announce
- ghe-check-disk-usage
- ghe-cleanup-caches
- ghe-cleanup-settings
- ghe-config
- ghe-config-apply
- ghe-console
- ghe-dbconsole
- ghe-es-index-status
- git-import
- ghe-legacy-github-services-report
- ghe-logs-tail
- ghe-maintenance
- ghe-nwo
- ghe-org-admin-promote
- ghe-reactivate-admin-login
- ghe-resque-info
- ghe-service-list
- ghe-set-password
- ghe-ssh-check-host-keys
- ghe-ssh-roll-host-keys
- ghe-ssh-weak-fingerprints
- ghe-ssl-acme
- ghe-ssl-ca-certificate-install
- ghe-ssl-generate-csr
- ghe-storage-extend
- ghe-version
- ghe-webhook-logs
- クラスタリング
- ghe-cluster-support-bundle
- ghe-dpages
- ghe-spokes
- Git
- ghe-btop
- ghe-repo
- ghe-repo-gc
- インポートとエクスポート
- ghe-migrator
- サポート
- ghe-diagnostics
- ghe-support-bundle
- ghe-support-upload
- GitHub Enterprise Server のアップグレード
- ghe-upgrade
- ghe-upgrade-scheduler
- ghe-update-check
- ユーザ管理
- ghe-org-membership-update
- ghe-user-csv
- ghe-user-demote
- ghe-user-promote
- ghe-user-suspend
- ghe-user-unsuspend
SSH 管理ユーザとしてサインインした後では、VM 上のどこからでもこれらのコマンドを実行できます。 詳しくは、"管理シェル(SSH)へのアクセス方法を参照してください。"
一般的
- ghe-announce
- ghe-check-disk-usage
- ghe-cleanup-caches
- ghe-cleanup-settings
- ghe-config
- ghe-config-apply
- ghe-console
- ghe-dbconsole
- ghe-es-index-status
- git-import
- ghe-legacy-github-services-report
- ghe-logs-tail
- ghe-maintenance
- ghe-nwo
- ghe-org-admin-promote
- ghe-reactivate-admin-login
- ghe-resque-info
- ghe-service-list
- ghe-set-password
- ghe-ssh-check-host-keys
- ghe-ssh-roll-host-keys
- ghe-ssh-weak-fingerprints
- ghe-ssl-acme
- ghe-ssl-ca-certificate-install
- ghe-ssl-generate-csr
- ghe-storage-extend
- ghe-version
- ghe-webhook-logs
クラスタリング
Git
インポートとエクスポート
サポート
GitHub Enterprise Server のアップグレード
ユーザ管理
- ghe-org-membership-update
- ghe-user-csv
- ghe-user-demote
- ghe-user-promote
- ghe-user-suspend
- ghe-user-unsuspend
一般的
ghe-announce
このユーティリティは、あらゆる GitHub 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
# コンフィグレーションの全ての値を表示
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
git-import
このユーティリティ一式を使って、 SubversionやMercurial、Team Foundation Version Control から Git のリポジトリへインポートできます。 詳しくは、第三者のバージョン管理システムからのデータのインポート を参照してください。
git-import の個別のコマンド
- git-import-detect
- URL が与えられたら、どのタイプのソース管理システムが相手側にあるのかを検出します。 このことは、手動インポートの間におそらくすでに知られていますが、自動化されたスクリプトでとても役立ちます。
- git-import-hg-raw
- Mercurial リポジトリ をこの Git リポジトリにインポートします。
- git-import-svn-raw
- Subversion の履歴とファイルのデータを Git ブランチにインポートします。 これはツリーの単純なコピーであり、トランクやブランチの区別を無視します。
- git-import-tfs-raw
- Team Foundation Version Control からインポートします。
- git-import-rewrite
- インポートの最終段階はリポジトリを書き換えることです。 これにより、作者の名前を変更できるようになり、フォルダに基づいて Git ブランチを作成します (Subversion と TFS 用)。
ghe-legacy-github-services-report
このユーティリティは、2018 年 10 月 1 日に廃止予定の統合方式である GitHub サービスを使用しているアプライアンス上のリポジトリを一覧表示します。 アプライアンス上のユーザーは、特定のリポジトリへのプッシュに対する通知を作成するために、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-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を使用すれば、通常のユーザーアカウントをサイト管理者に昇格させることができます。
使い方:
1人のユーザに 特定の 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 の問題を示している可能性があります。
- 背景のジョブの数が増えていますが、実行中のジョブの数は同じままです。
- イベントフィードが更新されない。
- サービスフックがトリガーされない。
- Git プッシュ後、ウェブインタフェースが更新されない。
Resque の故障を懸念している場合は、GitHub Enterprise Support または GitHub Premium Support に連絡してください。
このコマンドでは、キューでのジョブ停止または再開をすることができます。
使い方:
$ ghe-resque-info
# キューと現在キューに入っているジョブの数を表示する
$ ghe-resque-info -p QUEUE
# 特定のキューを停止する
$ ghe-resque-info -r QUEUE
# 特定のキューを再開する
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
このコマンドを使って表示されたサービス名は、これらのサービスを停止、開始または再起動するためにUpstartのコマンドと併用することができます。 例:
$ sudo restart github-resqued
サービスを停止することによって、インスタレーションが稼働停止しますので、サービスを停止または再起動する前に GitHub Enterprise Support または GitHub Premium Support に連絡することをおすすめします。
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
グローバルな webhook のデリバリーを表示する
ghe-webhook-logs --global
クラスタリング
ghe-cluster-support-bundle
このユーティリティは、Geo-replication またはクラスタリングのいずれかの構成で、各ノードからの重要なログを含む Support Bundle tarball を作成します。
このコマンドは、デフォルトの設定では、/tmp に TAR 書庫を作成しますが、簡単に SSH 経由でストリーミングできるように、TAR 書庫を STDOUT
に cat
できます。 ウェブ 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
バンドルをサポートに送信する
$ ssh -p 122 admin@hostname -- 'ghe-cluster-support-bundle -u'
バンドルをサポートに送信してチケットと関連付ける
$ ssh -p 122 admin@hostname -- 'ghe-cluster-support-bundle -t ticket-id'
ghe-dpages
このユーティリティでは、分散型ページのサーバを管理することができます。
使い方:
ghe-dpages
リポジトリの場所と状態の概要を表示する
ghe-dpages status
ghe-spokes
このユーティリティでは、分散型 Git サーバにある各リポジトリの3つのコピーを管理することができます。
使い方:
ghe-spokes
リポジトリの場所と状態の概要を表示する
ghe-spokes status
リポジトリが保管されているサーバを表示する
ghe-spokes route
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、リポジトリデータの移行ガイドを参照してください。
サポート
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 書庫を STDOUT
に cat
できます。 ウェブ 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
バンドルをサポートに送信する
$ ssh -p 122 admin@hostname -- 'ghe-support-bundle -u'
バンドルをサポートに送信してチケットと関連付ける
$ ssh -p 122 admin@hostname -- 'ghe-support-bundle -t ticket-id'
ghe-support-upload
このユーティリティは、アプライアンスから GitHub Enterprise サポートに情報を送信します。 ローカルファイルを指定、またはSTDIN
経由で最大100MBまでのデータのストリームを提供することができます。 アップロードされたデータは任意でサポートチケットと関連付けることができます。
使い方:
ファイルをサポートに送信して、チケットと関連付ける
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 -vv
をSTDIN
ストリーミングしたい特定データに入れ替えて、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-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