こんにちは。
Githubを使用せずにXserverでgitリポジトリを作成して、開発環境と本番環境のソース管理をしたいと思います。以下のような図での運用を目指して作成します。
ついでにgitコマンドが苦手(というかコマンド全般苦手…)なのでSourceTreeを使ってXserverのGitリポジトリに接続してみたいと思います。
XserverでSSH接続用鍵の取得
XServerのサーバーパネルにログインして、「SSH設定」をクリックします。
「SSH設定」をONにします。
パスフレーズを入力して、確認画面に進みます。
「生成します」
秘密鍵のダウンロードが始まります。
SourceTreeでSSH接続(Windows)
ダウンロードした秘密鍵をSourceTreeでインポートしていきます。
SourceTreeで[ツール]-[SSHキーの作成/インポート…]を選択します。
[Key]-[SSH-2 RSA Key]を選択します。
[Load]を選択して、先ほどダウンロードした秘密鍵を選択します。(この時、パスフレーズの入力もします)
インポート成功と「PuTTY’s」フォーマットでキーを保存してね、というメッセージが表示されます。
言われるがまま、[Save Private Key]を選択して、保存します。
すると、Windows10の右下にあるインジケーター領域にPageantというPuTTY認証エージェントが起動します。これはサーバーに接続しているときにいつでも使用できるように、秘密キーをメモリに保持しています。
これでいったんSourceTree作業は終わります。
SourceTreeでSSH接続(Mac) 22/8/17追記
MacとWindowsでSourceTreeのメニュー構成が色々違ったので戸惑いました。
ダウンロードした秘密鍵を以下に置きます。
~/.ssh/XXXXX.key
ターミナルで以下のコマンドを実行すると、秘密鍵が登録されます。
$ ssh-add ~/.ssh/XXXXX.key
Xserverにリモートリポジトリ(Bare)を作成
ではでは、ようやく、最初にも出したこの図で言うと真ん中の黒い部分を作成します。
XserverにSSH接続します。Bareリポジトリはフォルダ名に.gitを付ける運用になっているそうですので、非公開ディレクトリにXXXXX.gitフォルダを作成して移動してから、「git init –bare –shared」します。
$ cd git_repo/XXXXX.git $ git init --bare --shared
SourceTreeでローカルにリポジトリをclone
ローカルのSourceTreeに戻ります。まずは先ほど作成したXserverのリモートリポジトリ(Bare)に接続します。
cloneを選択して、以下を入力していきます。
Xserverのリモートリポジトリの場合はURLは以下のように指定します。
ssh://サーバーID@ホスト名:10022/home/XXXXX/XXXXX/git_repos/XXXXX.git
ちなみに、URLを入力した時に「SSHエージェント(Pageant)は起動していますが、接続に失敗しました」という謎のメッセージが出まして、暫く接続出来ませんでした。結局、「②SourceTreeでSSH接続」で作成したppkを削除してSourceTreeを再起動して「②SourceTreeでSSH接続」をやり直したら解決しました。。ちょっと原因不明ですが、参考になれば幸いです。
コメント
コメント一覧 (2件)
記事冒頭で
「念のために、、この図は私の管理しやすい形を検討した結果なので、推奨されているものではありません。」
とありますが推奨されている構成はどのようなものですか?
コメントありがとうございます。
ご期待の回答ではないですが、「推奨されているものではありません」→「プロジェクトによって色々変わると思います」が正しいニュアンスかもしれません。今回の場合は私一人の開発なのでノンベアだけで良かったかも、とか、本当ならテスト環境も用意して、とか考えていたような気もします。