Lanvillのスマホアプリ開発記

アプリ開発初心者のLanvillが作ったスマホアプリを紹介したりするブログです。

Synology NAS DS216jにGitサーバ立ててSourcetreeからアクセスできるようにしようとしたら苦労した話 その1

PythonやらUnity(というかC#)のソースやらを管理するために、バージョン管理ツールを使いたい。

会社ではSVNを使っているが、今バージョン管理ツールでググって出てくるのはGitおよびそのクラウドサービスのGithubばっかり。ってかうちの会社、バージョン管理ツールの運用個人任せなんですけど終わってない?

ってわけで、Gitを使ってナウなヤングの仲間入りを果たしたいわけだが、個人の趣味レベルでやるわけだし、Githubに置くのもどうかなって思ってた頃、ファイルストレージとして使ってたSynologyのDS216jがGitサーバになれることが判明。SVNサーバにもなれる。

 

Gitは基本CUIっぽいけど、会社でTortoise svnに甘やかされた人間が今更CUI操作したくないので、GUI操作できるGitクライアントを使いたい。MacとWinの両方から操作することも考えて、マルチに使えるクライアントが良いが、それに合致するのはSourcetreeというクライアントのようだ。CUIならOS関係ない?知りませんねぇ。。。

ってわけで、ようやくタイトルに繋がったわけだ。やりたいことは以下の通り。

  1. DS216jにGitサーバになってもらう
  2. GitクライアントPCにGitとSoucetreeを入れる
  3. ローカルリポジトリ作成し、リモートリポジトリにプッシュ出来るようにする

基本的には先人達がやってるので、その通りにすれば出来るわけだけど、この記事はそれでドハマリしたことを書く。忘備録として。

 

1.DS216jにGitサーバになってもらう

Gitサーバをインストールするだけならなんてことなかった。参考にしたのは以下の記事。

nuneno.cocolog-nifty.com

blog.felt-life.info

みんな似たようなことやってるんだね。

SynologyのNASは使い勝手のいいGUIがブラウザベースで提供されているので以下は簡単に出来た。

  • Gitサーバインストール
  • リポジトリを置くフォルダの作成
  • SSH有効化

参考にした記事ではGitにアクセスするユーザーグループを作ってるけど、使うの自分だけだから、Gitユーザーグループなんて作らない。

が、肝心のリポジトリの作成はCUIでやらないといけない罠。しかもここでドハマリした。

リポジトリを置くフォルダとして、/gitvolumeというフォルダを作った。WindowsコマンドプロンプトからSSHでアクセスしてリポジトリを作るが、その際root権限でやる必要がある。これは参考にした記事にもある。で、rootを取るわけだけども、そこから

cd /gitvolume

と打っても移動できなかった。しかもlsコマンド入れても/rootしか表示されないので悩んだが、どうも/volume1以下にすべてのフォルダがあるらしく、

cd /volume1/gitvolume

と入れると移動できた。

参考にした記事ではさも当然のように/volume1がパスに入っているけど、なにこれ仕様なの?これで1日潰したんだけど

移動後、以下のコマンドを打つ。

git init --bare --shared <repo-name>

chown -R <user-name> <repo-name>
chmod -R g+w <repo-name>
cd <repo-name>
git update-server-info

要はgitリポジトリを作って、それを使用するユーザに権限作ってる。この辺のコマンドは飛ばすと上手くいかない。というかちゃんと打っても上手くいかなかった。

 

書くの疲れたので分割します。