はじめに
gitリポジトリは、ホスティングサービスにアップロードすることが可能です。うまく使うことで、
- 複数人での開発
- 複数マシンでのコード共有
- バックアップ
- 自動デプロイシステム構築
などなど、大変便利なので、gitを使用される方は是非、ホスティングサービスを利用しましょう。 ホスティングサービスで有名なものはGitHubがありますが、無料アカウントでは非公開リポジトリを作成できないという難点があります。
無料で非公開のリポジトリを作成できるものではBitbucketが有名ですが、こちらは共有できるメンバーが(無料では)五名までという難点があります。
そこで私が選んだのが、つい最近サービスを開始した「codebreak」というサービスです。無料で、無制限にリポジトリを作成でき、メンバーとの共有も容易ということでしたので、早速こちらを使ってみることにしました。
codebreakでの初期設定
アカウントを作成する
まずはアカウントを作成しましょう。ユーザー名は任意です。GitHubやFacebookのアカウントでログインすることも可能です。
codebreak上に空のリポジトリを作成する
登録が済んだら、空のリポジトリを作成しましょう。名前は任意でOKです。
リモートサーバーでのSSH鍵生成
WordPressサーバーからcodebreakの通信にはSSHを用いるので、SSH鍵の設定が必要です。
以前の記事でご説明したように、鍵の生成と設定を行いましょう。
ローカルPCで生成した鍵をリモートサーバーを設定した前回と異なり、今回はリモートサーバーで生成した鍵を、ホスティングサービスに設定します。
まずは、WordPressサーバーにログインしましょう。以前の記事でお伝えした、SSH接続の設定ファイルをお作りの場合は、
ssh sakura [Enter]
といった簡単なコマンドでログインできるようになっていると思います。
こちらの設定を済んでWordPressを入れたサーバーに、GitBashやTerminalなどを用いてログインします。ssh-keygen -t rsaで鍵を作成しましょう。
/home/ユーザー名/.ssh/というフォルダに鍵ができていますので、秘密鍵をsudo権限でchmod600(?)にしておきましょう。これやらないと、何か操作する際に「秘密鍵が誰でも見られる状態になってるじゃん!セキュリティ的に危ないよ!」と怒られます。
chmod 0600 ~/.ssh/id_rsa [Enter]
ssh秘密鍵をcodebreakに登録する
次は公開鍵の設定です。id_rsa.pubの中身をエディタ等で開いてコピーし、codebreakに登録しましょう。
ユーザー名の設定から、「SSH公開鍵」で張付けられます。名前は任意ですが、ローカルPCとの接続用の鍵と区別するため、「WordPressサーバーの公開鍵」とかって名前にしておくと良いかもしれません。
さて、これで接続の準備が整いました。あとは、WordPressのリモートサーバーからcodebreakにcommitをPushすれば、バックアップの完成です。
codebreakをWordPressリポジトリのリモート先に登録する
次はcodebreak上のリポジトリを、WordPressリポジトリのpush先として指定しましょう。
まず、sshのcdコマンドでwordpressのリポジトリに移動します。 ここで下記のコマンドを入力し、「push先の一つに、codebreakのリポジトリを追加しますよ」という設定を行います。
「user-name」はcodebreakのユーザー名、「repository-name」にはcodebreak上に作成した空リポジトリを指定します。
git remote add -u cb https://user-name@git.codebreak.com/user-name/repository-name.git [Enter]
なお、上記の「cb」はリモートリポジトリの名前です。任意で決められるものですが、codebreak上のリポジトリなので、略してcbとしました。
プッシュする
これで設定が済みましたので、下記のコマンドで実際にPushしてみましょう。
git push cb master [Enter]
鍵を生成した時のパスワードを入力し、通ればOKです。これでcodebreak上にWordPressのリポジトリのバックアップが作成できました。先ほどのSSH設定と同様の操作を他のマシンで行えば、codebreak上のコードをクローン別マシンにクローンすることも可能です。
まとめ
以下の手順です。
- codebreakに登録する
- codebreakで空リポジトリを作成する
- リモートサーバーでssh鍵を生成する
- 公開鍵をcodebreakに設定する
- リモートサーバーで空リポジトリをpush先に登録する
- pushする