LoginSignup
0
1

Dockerコンテナを用いてSVNサーバを起動し、Windowsフォルダをマウント、ユーザーIDとパスワードも設定

Posted at

Dockerコンテナを用いてSVNサーバを起動し、WindowsフォルダをマウントしてユーザーIDとパスワードを設定する方法

CI/CDの環境構築などを試す際、手軽にリポジトリを立ち上げたくなります。
Windows WSL環境上のDockerで、Docker Hubからコンテナを入手して立ち上げると「立ち上げて遊んでポイ」が容易なのでいつもやっています、、、が、たまにしかやらないので、手順忘れがち。
ChatGPTさんに作文してもらった内容を備忘のため記載しておきます。

環境:
・Windows 10(WSL設定済み)
・Docker (WSL上で動作)

以下の手順で、Dockerコンテナを用いてSVNサーバを起動し、ユーザーIDとパスワードを設定します。また、WindowsのフォルダをDockerコンテナにマウントします。
※ここではサーバ―名を「suna-svn-server」、リポジトリ名を「new-repo」としています。

1. Dockerコンテナを起動する

Dockerコンテナgarethflowers/svn-serverを起動します。また、Windowsのフォルダ(ここではC:\svn-server)をコンテナの/var/opt/svnディレクトリにマウントします。

docker run -d --name suna-svn-server -v /mnt/c/svn-server:/var/opt/svn -p 3690:3690 garethflowers/svn-server

2. 新しいリポジトリを作成する

新しいリポジトリnew-repoを作成します。

docker exec -it suna-svn-server svnadmin create /var/opt/svn/new-repo

3. Dockerコンテナのシェルを開く

docker exec -it suna-svn-server sh

これでDockerコンテナのシェルが開きます。

4. passwdファイルを作成(または編集)する

リポジトリのconfディレクトリに移動します。

cd /var/opt/svn/new-repo/conf

viを使ってpasswdファイルを作成(または編集)します。

vi passwd

iを押して挿入モードに入ります。これでファイルに入力できるようになります。
以下の内容をファイルに入力します:

[users]
username = password

usernameとpasswordは使用したいユーザー名とパスワードに置き換えてください。

ESCを押して挿入モードを終了します。
:wqを入力しEnterを押してファイルを保存してviを終了します。

5. svnserve.confファイルを編集する

同様に、svnserve.confファイルを編集します。

vi svnserve.conf

再度viのコマンドを使用して、以下の行をコメントアウト解除(または存在しない場合は追加)します:

password-db = passwd

これも保存してviを終了します。
※匿名アクセス用に「anon-access = read」「auth-access = write」を追加してもよいですが、あまりお勧めしません。

6. Dockerコンテナのシェルを終了する

exitを入力してEnterを押すと、Dockerコンテナのシェルを終了できます。

これで、new-repoという新しいリポジトリが作成され、ユーザーが設定されました。
Dockerコンテナ「suna-svn-server」を起動すれば、TortoiseSVNからはsvn://localhost:3690/new-repoのURLでこのリポジトリにアクセスできます。

0
1
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
1