リモート Git ホスティングを使用する

ビデオチュートリアルを再生

このシナリオは、既に GitHub(github.com)や BitBucket(bitbucket.org)などのリモートリポジトリを使用している場合に便利です。このリモートリポジトリに変更を送信すると、Plesk がリモートリポジトリから変更をプルしてウェブサイトにデプロイします。

このセクションの内容:

Git リポジトリの複製

SSH 接続を使用する

ファイルのプルとデプロイ

ブランチまたはパスを変更する

デプロイメントモードを選択する

自動プルにウェブフックを使用する

追加のデプロイメントアクションを有効化する

コミットログを表示する

リポジトリを名称変更または削除する

 

Git リポジトリの複製

Git リポジトリを作成して、リモートリポジトリのクローンにすることができます。[ウェブサイトとドメイン]に進み、[Git]をクリックします。既にドメイン用の Git リポジトリが作成されている場合は、[リポジトリを追加]ボタンをクリックします。リポジトリの新規作成画面が表示されます。

Git_remote_create_HTTPS

まず、コードをどこに保存するかを選択します。このシナリオでは、[GitHub や BitBucket などのリモート Git ホスティング]を選択します。

リモート Git リポジトリ:BitBucket や GitHub のリモートリポジトリへのパスを入力します。パスは HTTPS または SSH 形式で入力できます。HTTP/HTTPS 認証はサポートされないため、HTTP/HTTPS プロトコルを使用できるのは、リポジトリに認証が不要な場合のみです。プライベート Git リポジトリを使用する場合、Plesk で生成された SSH キーで認証を行う必要があります(詳しくは「SSH 接続を使用する」を参照してください)。

[あなたのウェブサイト]セクションに、以下を指定します。

  • デプロイメントモード:デフォルトで、「自動デプロイメント」が使用されます。つまり、Git リポジトリへプッシュされたすべての変更は、本番サイトへ自動的にデプロイされます。デプロイメントモードを変更したい場合、[自動的にデプロイします]リンクをクリックして、[デプロイメントモード]ウィンドウが開いたら別のオプションを選択します。[手動デプロイメント]を選択した場合、Git リポジトリからホスティング用にファイルを手動でデプロイする必要があります。[デプロイメントなし]を選択した場合、ファイルは本番サイトにデプロイされません(これは、コードの保存や交換のためなどに使用できます)。

    Git_push_Deployment_mode

  • ウェブサイトの Git ファイルを公開するためのターゲットディレクトリ。デフォルトで /httpdocs ディレクトリが使用されます。ディレクトリ名をクリックして、他の既存ディレクトリに変更可能です。

    Git_push_Deployment_path

[OK]をクリックします。Plesk がリモートリポジトリへの接続を試みて、リポジトリを複製します。

Progress1

複製が正常に完了したことが進捗ダイアログに表示されたら、新しいリポジトリが[Git]ページに表示されます。

Progress3

新しいリポジトリは[ウェブサイトとドメイン]>[Git]に表示されます。リモートリポジトリの名前が Git リポジトリ名として使用されます。リポジトリは後で名称変更できます(「リポジトリを名称変更または削除する」セクションを参照してください)。

作成されるリポジトリは、リモートリポジトリのクローンであり、リモートリポジトリから変更をプルしてターゲットディレクトリにデプロイするために使用されます。

Git_remote_created

 

SSH 接続を使用する

リモート Git リポジトリへの接続に SSH を使用できます。この場合、新しいリポジトリの追加時に、リモートリポジトリの URL を SSH 形式で指定します。[SSH 公開キー]フィールドが表示され、Plesk で自動生成された SSH 公開キーが表示されます。

Git_pull_create_SSH

この画面で[OK]をクリックする前に、リモート Git リポジトリの設定に SSH キーを追加する必要があります。詳しくは、 GitHub および BitBucket の SSH キーの追加方法に関するドキュメントを参照してください。

 

ファイルのプルとデプロイ

ウェブサイトのファイルをコミットし、リモートリポジトリにプッシュした後で、[ウェブサイトとドメイン]に移動して、リポジトリ名の横の[アップデートをプル]ボタンをクリックします。複製された Git リポジトリへリモートリポジトリの変更がプルされます。

最後のコミット情報は、[ウェブサイトとドメイン]>[Git]で参照できます。

デフォルトで、Plesk は自動デプロイメントモードを使用します。つまり、リポジトリへプッシュされたファイルは、即時にターゲットディレクトリへデプロイされます(必要に応じてこのモードをオフにできます。後述の「デプロイメントモードを選択する」セクションを参照してください)。

たとえば、「Hello! Welcome to my site」というテキストの含まれる index.html ファイルをプルすると、すぐにウェブサイト URL をクリックして変更を参照できるようになります。

Git_website

 

ブランチまたはパスを変更する

新しいブランチからデプロイする

一般的な慣習として、1 つのリポジトリで複数のブランチを使用することがあります。一度にアクティブにできるブランチは 1 つだけです。デフォルトで、master ブランチがデプロイメントに使用されます。

新しいブランチを追加するには、リモートリポジトリでブランチを作成してから、変更をプルする必要があります。その後、Plesk で 2 つ(以上)のアクティブブランチからいずれかを選択できるようになります。[ウェブサイトとドメイン]>[Git]に移動し、[ブランチおよびパスを変更]をクリックして、開いたウィンドウで[ブランチ]メニューからブランチ名を選択します。

Git_remote_new_branch

新しいブランチを選択して[OK]をクリックすると、Plesk に新しいアクティブブランチが表示されます。

Git_remote_branch

デプロイメントパスを変更する

デフォルトで、ウェブサイトでの Git ファイルの公開には /httpdocs ディレクトリが使用されます。デプロイメントパスを変更したい場合、[ウェブサイトとドメイン]>[Git]に移動して[ブランチおよびパスを変更]リンクをクリックして、開いたウィンドウで新しいディレクトリを選択します。

Git_remote_change_folder

 

デプロイメントモードを選択する

リポジトリのデプロイメントモードを選択できます。[ウェブサイトとドメイン]>[Git]に移動して[リポジトリ設定]をクリックして、[デプロイメントモードを選択]でいずれかのオプションを選択します。

  • 自動デプロイメント:Plesk ですべての変更を本番サイトへ即時にデプロイしたい場合は、これを選択します。
  • 手動デプロイメント:この場合、[ウェブサイトとドメイン]>[Git][リポジトリからデプロイ]ボタンをクリックすることにより、ファイルを手動でデプロイする必要があります。また、[ウェブサイトとドメイン]でリポジトリ名の横の[デプロイ]ボタンをクリックしても、ファイルを手動でデプロイできます。
  • デプロイメントなし(リポジトリホスティング):この場合、ファイルは本番サイトへデプロイされません。このオプションは、Git リポジトリをコードの保存や交換のみに使用したい場合などに使用できます。

    Git_remote_deploy_mode

 

自動プルにウェブフックを使用する

ウェブフックを使用して、リポジトリへのファイルのプッシュなど特定のイベントが発生したときに Plesk に通知するようにリモートリポジトリを構成できます。詳しくは、BitBucket または GitHub でのウェブフックの管理に関するドキュメントを参照してください。

ウェブフック URL はリポジトリに対して自動的に生成されます。ウェブフック URL を確認するには、[リポジトリ設定]をクリックします。

Git_remote_webhook

ウェブフック URL をコピーしてリモートリポジトリへ追加し、リポジトリへのプッシュが発生したときにトリガされるように構成します。この結果、リモートリポジトリへのファイルのプッシュが行われるたびに、Plesk がプッシュイベントについて通知を受けてファイルを自動的にプルするため、ユーザが[アップデートをプル]ボタンをクリックする必要はありません。リポジトリに自動デプロイメントが構成されている場合、プルされたファイルは即時にウェブサイトへとデプロイされます。

:Plesk が自己署名証明書によって保護されている場合、SSL/TLS ハンドシェイクの問題により、TTPS プロトコル経由で呼び出されたウェブフックが機能しない可能性があります。これが発生した場合には、ウェブフック URL に HTTP プロトコルを指定してください。

 

追加のデプロイメントアクションを有効化する

多くの場合、ファイルの公開だけではウェブサイトのデプロイメントが完了しません。たとえば、Ruby on Rails などのフレームワークを使用している場合、 bin/rails db:migrate のようなコマンドを実行して、デプロイメント後にデータ移行作業を実行する必要があります。

Plesk では、ウェブサイトにファイルをデプロイするたびに実行される追加コマンドを 1 つ以上定義できます。

[ウェブサイトとドメイン]>[Git]に移動し、[リポジトリ設定]をクリックして、[追加のデプロイアクションを有効化]を選択し、リポジトリコンテンツがデプロイされるたびに実行すべきシェルコマンドを 1 つ以上指定します。個々のコマンドは 1 行ずつ入力してください。

Git_remote_actions

:Linux では、ドメインのシステムユーザに対して SSH アクセスが禁止されている場合、指定されたすべてのコマンドが chroot 環境で実行されます。契約のシステムユーザのホームディレクトリがこの契約のファイルシステムのルートとして扱われ、chroot jail の外にある実行可能ファイルは実行できません。たとえば、サイトのパスが /var/www/vhosts/example.com/httpdocs である場合、chroot 環境ではパスが ./httpdocs になります。そのため、/httpdocs ディレクトリより 1 レベル以上上ではコマンドを実行できません。

 

コミットログを表示する

現在のブランチのコミット履歴をすべて表示するには、[ウェブサイトとドメイン]>[Git]に移動して[コミットログ]リンクをクリックします。各コミットに、時間、一意の ID、ユーザ名、コミットメッセージが表示されます。コミットログを更新するには、[更新]をクリックします。

Git_remote_commit_log

任意のパラメータでコミットログをフィルタできます。たとえば、特定の日付以降に特定のユーザによって行われたすべてのコミットを検索できます。これには、Git_Commit_Logs_search_Buttom ボタンをクリックし、検索パラメータを入力して、[検索]をクリックします。

Git_remote_commit_log_filter

 

リポジトリを名称変更または削除する

リポジトリ名はいつでも変更できます。たとえば、デプロイメントが終了した後で、リポジトリ名を「website-dev」から「website」へ変更したい場合、[ウェブサイトとドメイン]>[Git]に移動し、[リポジトリ設定]をクリックして、[リポジトリ名]フィールドに新しい名前を入力します。

リポジトリを削除したい場合、[Git]画面で[リポジトリを削除]リンクをクリックします。この場合、Plesk はリポジトリのみを削除し、公開されたデータの含まれるターゲットディレクトリはそのまま残されます。