さくらサーバーのディレクトリに Bitbucket のリポジトリをクローン

WordPress の自作テーマを本番環境にアップデートするのに、普通のやり方だと、サイトにログイン -> テーマを一旦別のものに切り替え -> 既存のテーマを削除 -> 新バージョンをアップロード -> 新バージョンのテーマに切り替え、といった流れになるが、面倒この上ない。ということで、さくらレンタルサーバーでは git コマンドが使えるので、git のリポジトリからコマンド打ってアップデートさせる。

準備

リポジトリ作成

Bitbucket でリポジトリを作成し、そこにテーマファイルを上げておく。Git のリポジトリが使えればいいので、GitHub でも構わない。作成方法はこちらにまとめた。個人的な非公開のプロジェクトをするなら、Bitbucket は無料で使えるのでお勧め。GitHub の場合、プライベートリポジトリは有料になる。(最近、GitHub でもプライベートリポジトリを無料で使えるようになったみたい。)

今回は twenty-seventeen-technotes というリポジトリを作成している。

SSH 鍵の作成

何も設定していない状態だと、さくらサーバーに Bitbucket のプライベートリポジトリをクローンしようとするとパーミションエラーがでる。

なので、SSH の鍵が必要になる。

まず、 さくらサーバーに SSH でログイン。 すでに鍵があるかどうか確認しておこう。

と打って、id_rsaid_rsa.pub のファイルがないか確認。ある場合、はこのセクションは飛ばして、id_rsa.pub の内容をコピーするところまでスキップ。

ない場合、ssh-keygen と打って、キーを生成する

生成した公開鍵を Bitbucket に登録

次に、 id_rsa.pub を Bitbucket 側に登録する必要がある。

id_rsa.pub の内容をクリップボードにコピー

id_rsa.pub の内容をクリップボードにコピーするために、cat ~/.ssh/id_rsa.pub と打つ。

テキストをハイライトし、クリックするとクリップボードにコピーしてくれる。

Bitbucket 側に公開鍵を登録

次に、Bitbucket にログインし、 左下のアカウントアイコン -> View profile -> Settings -> SSH -> Add key へ移動。

そこから出てくる Add SSH key のスクリーンで先程コピーした公開鍵の文字列を追加。Label に入力する名称はわかりやすいものならなんでも良い。

git clone を試す

では git clone コマンドを試してみよう。テスト用のディレクトリを作りそこへ移動。

きちんとファイルが来ているか確認しておこう。

テストが済んだので、このテスト用のディレクトリは消しておく。

本番サイトの既存のテーマのディレクトリに適用する

この方法で、目的のテーマのディレクトリ …wp-content/themes/twenty-seventeen-technotes まで降りていき、git pull と打ってあげれば、随時アップデートがコマンド一つで可能になる。

実際、コマンドを打つとこんな感じ。

今後、テーマをアップデートする時は、そのテーマのディレクトリまで降りていって git pull と打てば良い。なんなら、スクリプトを Cron で組んで自動的にアップデートさせるのも良いだろう。

フォールバック

ちなみに、途中でエラーが出た時は、

と打って、直前の操作に戻ればよい。

万一、操作を誤って、ファイルがめちゃくちゃになってどうようもない時は、テーマディレクトリに作成された .git ディレクトリを削除して、FTP などで、ファイルを手動で戻してあげればよい。.git を削除した場合は git ini から始める。

応用

この方法はプラグインでも同様に使える。これを応用すれば、サイト全体を git で管理することも可能。その場合データベースは管轄外になる。プラグインや画像ファイルは git でバックアップというようなことができる。

Leave a Reply

Your email address will not be published. Required fields are marked *