ローカルリポジトリを使用する
このシナリオでは、ローカルリポジトリから Plesk へ変更を送信すると、Plesk がこの変更をウェブサイトにデプロイします。
この章の内容: |
Git リポジトリを作成する
ドメインに対して新しい Git リポジトリを作成するには、[ウェブサイトとドメイン]で[Git]をクリックします。既に Plesk 経由でドメイン用の Git リポジトリが作成されている場合は、[リポジトリを追加]ボタンをクリックします。リポジトリの新規作成画面が表示されます。
まず、コードをどこに保存するかを選択します。このシナリオでは、[ワークステーション上のローカルリポジトリ]を選択します。
Plesk の Git リポジトリ:リポジトリ名を指定します。デフォルトで、ドメインの名前と .git サフィックスが使用されます。
[あなたのウェブサイト]セクションに、以下を指定します。
- デプロイメントモード:デフォルトで、「自動デプロイメント」が使用されます。つまり、Git リポジトリへプッシュされたすべての変更は、本番サイトへ自動的にデプロイされます。デプロイメントモードを変更したい場合、[自動的にデプロイします]リンクをクリックして、[デプロイメントモード]ウィンドウが開いたら別のオプションを選択します。[手動デプロイメント]を選択した場合、Git リポジトリからホスティング用にファイルを手動でデプロイする必要があります。[デプロイメントなし]を選択した場合、ファイルは本番サイトにデプロイされません(これは、コードの保存や交換のために使用します)。
- ウェブサイトの Git ファイルを公開するためのターゲットディレクトリ。デフォルトで
/httpdocs
ディレクトリが使用されます。ディレクトリ名をクリックして、他の既存ディレクトリに変更可能です。
[OK]をクリックします。新しいリポジトリが作成され、[Git]ページに表示されます。
表示されるリポジトリ URL は、使用しているデータ転送プロトコルによって異なります。以下のいずれかのプロトコルを選択できます。
- SSH(Linux のみ)- このプロトコルは、SSH ウェブホスティングアクセスがドメインに対して有効になっている場合にデフォルトで使用されます。ドメインへの SSH アクセスを設定するには、[ウェブサイトとドメイン]>[ウェブホスティングアクセス]に移動し、[SSH 経由のサーバアクセス]メニューで /bin/bash または /bin/sh を選択します。この場合、リポジトリの URL は「[email protected]:~/repos/example.git」のような形式になります。
- HTTPS - このプロトコルは、SSH ウェブアクセスが拒否されており、尚且つドメインに対して SSL/TLS が構成されている([ホスティング設定]>[SSL/TLS サポート])場合にデフォルトで使用されます。この場合、URL は「https://[email protected]/plesk-git/example.git」のような形式になります。
- HTTP - このプロトコルは、SSH ウェブアクセスが拒否されており、尚且つドメインに対して SSL/TLS が構成されていない場合にデフォルトで使用されます。この場合、リポジトリの URL は「http://[email protected]/plesk-git/example.git」のような形式になります。
[ヘルプ]リンクで表示される指示に従って、ローカルリポジトリを初期化します。
リポジトリを初期化するときは、[ウェブサイトとドメイン]>[Git]でコミット情報とアクティブなブランチ名を表示できます。デフォルトでは master ブランチが Plesk での作業用に使用されます。後でブランチを追加できます(「ブランチまたはパスを変更する」セクションを参照してください)。
これで、ローカルリポジトリからウェブサイトファイルをコミットし、サーバのリポジトリへプッシュできるようになります。
ファイルのプッシュとデプロイ
ローカルリポジトリからウェブサイトファイルをコミットし、これらをサーバリポジトリへプッシュすると、[ウェブサイトとドメイン]>[Git]ページにコミット情報が表示されます。
デフォルトで、Plesk は自動デプロイメントモードを使用します。つまり、リポジトリへプッシュされたファイルは、即時にターゲットディレクトリへデプロイされます(必要に応じてこのモードをオフにできます。後述の「デプロイメントモードを選択する」セクションを参照してください)。
たとえば、「Hello! Welcome to my site」というテキストの含まれる index.html
ファイルを Git リポジトリへコミットし、プッシュすると、すぐにウェブサイト URL をクリックして変更を参照できるようになります。
ブランチまたはパスを変更する
新しいブランチからデプロイする
一般的な慣習として、1 つのリポジトリで複数のブランチを使用することがあります。一度にアクティブにできるブランチは 1 つだけです。デフォルトで、master
ブランチがデプロイメントに使用されます。
ブランチを 1 つ以上追加するには、ローカルリポジトリでブランチを作成する必要があります。たとえば、以下のコマンドを使用して、dev ブランチを追加できます。
git branch dev
git checkout dev
次に、以下のコマンドを使用してこのブランチへファイルをコミットし、サーバのリポジトリへプッシュします。
git commit -m "changes to branch"
git push -u origin dev
2 つのアクティブブランチのいずれかを選択できるようになります。[ウェブサイトとドメイン]>[Git]に移動し、[ブランチおよびパスを変更]リンクをクリックして、開いたウィンドウで[ブランチ]メニューからブランチ名を選択します。
新しいブランチを選択して[OK]をクリックすると、Plesk に新しいアクティブブランチが表示されます。
デプロイメントパスを変更する
デフォルトで、ウェブサイトでの Git ファイルの公開には /httpdocs
ディレクトリが使用されます。デプロイメントパスを変更したい場合、[ブランチおよびパスを変更]リンクをクリックして、開いたウィンドウで新しいディレクトリを選択します。[フォルダを作成]ボタンをクリックします。
デプロイメントモードを選択する
リポジトリのデプロイメントモードを選択するには、[リポジトリ設定]をクリックして、[デプロイメントモードを選択]の下でいずれかのオプションを選択します。
- 自動デプロイメント: Plesk は、Plesk リポジトリに変更がプッシュされると即時に本番サイトへデプロイします。
- 手動デプロイメント: [ウェブサイトとドメイン]>[Git]で[リポジトリからデプロイ]ボタンをクリックして、ファイルを手動でデプロイする必要があります。また、[ウェブサイトとドメイン]ページでリポジトリ名の横の[デプロイ]ボタンをクリックして、ファイルを手動でデプロイすることもできます。
- デプロイメントなし(リポジトリホスティング): 本番サイトへファイルをデプロイしません。このオプションは、Git リポジトリをコードの保存のみに使用したい場合などに使用できます。
追加のデプロイメントアクションを有効化する
多くの場合、ファイルの公開だけではウェブサイトのデプロイメントが完了しません。たとえば、Ruby on Rails などのフレームワークを使用している場合、 bin/rails db:migrate
のようなコマンドを実行して、デプロイメント後にデータ移行作業を実行する必要があります。
Plesk では、ウェブサイトにファイルがデプロイされるたびに毎回実行されるさまざまな追加アクションを設定できます。
[ウェブサイトとドメイン]>[Git]に移動し、[リポジトリ設定]をクリックして、[追加のデプロイアクションを有効化]を選択し、このリポジトリがデプロイされるたびに実行すべきシェルコマンドを 1 つ以上指定します。各コマンドは新しい行から開始する必要があります。
注:Linux のユーザに対して SSH が禁止されている場合、指定されたコマンドはすべて chroot 環境で実行されます。契約のシステムユーザのホームディレクトリがこの契約のファイルシステムのルートとして扱われ、chroot jail の外にある実行可能ファイルは実行できません。たとえば、サイトのパスが /var/www/vhosts/example.com/httpdocs
である場合、chroot 環境ではパスが ./httpdocs
になります。そのため、/httpdocs
ディレクトリより 1 レベル以上上ではコマンドを実行できません。
コミットログを表示する
現在のブランチのコミット履歴をすべて表示するには、[ウェブサイトとドメイン]>[Git]に移動して[コミットログ]リンクをクリックします。各コミットについて、時間、一意の ID、ユーザ名、コミットメッセージの情報が表示されます。コミットログを更新するには、[更新]をクリックします。
任意のパラメータでコミットログをフィルタできます。たとえば、特定の日付以降に特定のユーザが行ったすべてのコミットを検索できます。これには、 ボタンをクリックし、検索パラメータを入力して、[検索]をクリックします。
リポジトリを名称変更または削除する
リポジトリ名はいつでも変更できます。たとえば、デプロイメントが終了した後で、リポジトリ名を「website-dev」から「website」へ変更したい場合、[ウェブサイトとドメイン]>[Git]に移動し、[リポジトリ設定]をクリックして、[リポジトリ名]フィールドに新しい名前を入力します。
リポジトリを名称変更した後で、以下のコマンドを使用して、新しいリポジトリ URL で機能するようにローカルリポジトリを構成する必要があります。
git remote set-url origin [new URL]
たとえば、リポジトリを「example」から「example1」に名称変更するには、以下のコマンドを実行します。
git remote set-url origin [email protected]:~/repos/example1.git
リポジトリを削除したい場合、[ウェブサイトとドメイン]>[Git]で[リポジトリを削除]リンクをクリックします。この場合、Plesk はリポジトリのみを削除し、公開されたデータの含まれるターゲットディレクトリはそのまま残されます。