0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Synology NAS で Gitサーバーを構築

Posted at

今回も備忘録です。
Docker 環境で使用する Gitリポジトリ を用意するにあたり、使用頻度の低かった Synologu NAS 上に Gitサーバーを構築してみることにしました。

環境について

SSH 認証編 と変わりません。
使用する環境は下記のとおりです。

クライアント側
エディション Windows 11 Pro
バージョン 23H2
OSビルド 22631.4169
エクスペリエンス Windows Feature
Experience Pack 1000.22700.1034.0
Synology NAS側
製品 DiskStation DS420J
DSM バージョン DSM 7.2.1-69057 Update 5
uname -a Linux DS420J 4.4.302+ #69057 SMP Fri Jan 12 17:01:55 CST 2024 aarch64 GNU/Linux synology_rtd1296_ds420j

事前にインストールしたソフトウェア

git for windows
サイトのトップページに表示されている「download」ボタンをクリックし、「Git-2.46.2-64-bit.exe」をダウンロードしました。
同ファイルをインストールしましたが、基本的に「既定の設定」のままインストールを進めました。

参考にした記事

Synologyナレッジセンター Git Server
NASキット Synology DiskStation DS220jで遊ぶ その13: Gitサーバにする

Git サーバーの構築とリポジトリの準備は、この二つのサイトを参照すれば 無難に進められると思います。

gitリポジトリのクローン手順

前述のサイトでは VSCode からクローンする手順が記載されていました。

  1. VSCode を起動する。
  2. 左端の「ソース管理」アイコンをクリックする。
  3. ソース管理ペイン内の「リポジトリのクローン」ボタンをクリックする。
  4. リポジトリへのURLを入力する。
     例. ssh://git-server/git/git_test.git
  5. リポジトリのクローンフォルダを作成するフォルダを選択する。
    (選択したフォルダの直下に、リポジトリファイルと同名のフォルダが作成される)

ただ、「クローンフォルダの名前」を「リポジトリファイルと異なる名前」にしたいときは、別の方法でクローンする必要があります。

任意のフォルダへクローンする方法

git cloneコマンドを使えば、好きな名前のフォルダへクローンすることができます。

  1. 「Git CMD」を起動する。
  2. リポジトリフォルダを作成するベースフォルダへ移動する。
     例. "C:\Docker"
  3. リポジトリフォルダを作成し、そこへ移動する。
     例. "sample1"
  4. git colne コマンドを実行して「カレントフォルダ」へリポジトリをクローンする。
C:\Docker>mkdir sample1
C:\Docker>cd sample1
C:\Docker\sample1>git clone ssh://git-server/git/git_test.git .
Cloning into '.'...
warning: You appear to have cloned an empty repository.
C:\Docker\sample1>
  • git cloneコマンドに指定したURLの「git-server」は、SSH の CONFIG ファイル(.ssh フォルダ下のファイル)に記述したホスト定義名です。
  • git cloneコマンドに指定したURLの「git」は、Synology NAS 上で作成した「リポジトリフォルダを指すシンボリックリンク」です。

VSCode からの操作

git config へのユーザー名とメールアドレスの追加

リポジトリへアクセス際に使用する既定の「ユーザー名」と「メールアドレス」を、git global 設定に追加しておきます。

git config --global user.name "ユーザー名" 
git config --global user.email "メールアドレス"

Visual Studio Code からクローンフォルダを開く

  1. 「フォルダーを開く」メニューから、先ほどのクローンフォルダ(C:\Docker\sample1)を開きます。
  2. 信頼するかどうかを問い合わせてくるので、「はい、作成者を信頼します」をクリックします。
  3. 起動後、ファイルエクスプローラー画面に「クローンしたフォルダ名」が表示され、ウィンドウ左下に「master」と表示されていたら成功です。

ファイルのコミット、Gitサーバーへのプッシュ

「参考にした記事」で示したサイトの内容を確認してください。
作成したファイルのコミット
Gitサーバーにプッシュ

トラブルシュート

Git Serverのアクセスを許可するユーザーリストが空になってしまう問題と対応方法

全く同じ現象が発生していましたが、「SYNO.Git.lib」を手動修正することで解消されました。

記事では「SYNO.SDS.GIT.Instance」部分を削除すれば良いとありましたが、現在の私の環境では「“appPriv”: “SYNO.SDS.GIT.Instance“,」という記述自体を削除しています。

{"SYNO.Git.lib": {"allowUser": ["admin.local", "admin.domain", "admin.ldap"], "authLevel": 1, "lib": "/var/packages/Git/target/webapi/SYNO.Git.so", "maxVersion": 1, "methods": {"1": [{"enum_user": {"grantable": true}}, {"apply": {"grantable": true}}]}, "minVersion": 1, "priority": 0, "priorityAdj": 0}}

あとがき

非常に役立つ記事を公開してくれている方々に感謝です。
時が過ぎたら記憶もあやふやになってくるので、簡単なことでも備忘録的な記録はやはり必要ですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?