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?

SubversionをDockerで立ち上げる

0
Posted at

DockerでSubversionを立ち上げる

適当な作業用フォルダ(例: subversion-test)を作成し、その中に以下の docker-compose.yml を作成します。

docker-compose.yml
services:
  svn:
    image: garethflowers/svn-server:latest
    ports:
      - '3690:3690' # SVN専用プロトコル通信用
    volumes:
      - svn_data:/var/opt/svn
    restart: on-failure

volumes:
  svn_data:

SVNのユーザーとパスワードを設定する

今回は例として、ユーザー名を admin、パスワードを password123 として設定します。
ターミナルを開き、docker-compose.yml があるディレクトリで以下のコマンドを実行してください。

パスワードファイル(passwd)を設定する

ユーザー名とパスワードを登録します。

docker compose exec svn sh -c "echo '[users]' > /var/opt/svn/my-app/conf/passwd"
docker compose exec svn sh -c "echo 'admin = password123' >> /var/opt/svn/my-app/conf/passwd"

アクセス権限(svnserve.conf)の設定

「パスワードファイルを使って認証する」という設定を有効にします。
また、誰でも見られないように「匿名アクセス(anon-access)」を無効化します。

docker compose exec svn sed -i 's/# anon-access = read/anon-access = none/g' /var/opt/svn/my-app/conf/svnserve.conf
docker compose exec svn sed -i 's/# auth-access = write/auth-access = write/g' /var/opt/svn/my-app/conf/svnserve.conf
docker compose exec svn sed -i 's/# password-db = passwd/password-db = passwd/g' /var/opt/svn/my-app/conf/svnserve.conf

設定を確認する。

設定が完了したら、コンテナの再起動などは不要で即座に反映されます。
以下のコマンドで、いま作成したユーザーを使ってリポジトリにアクセス(一覧表示)できるか確認します。
エラーが出ずにコマンドが終了すればOKです。

svn ls svn://localhost/my-app --username admin --password password123

(まだ何もファイルを入れていないため、空のまま戻ってきます)すれば、認証設定は成功です!

SVNへプロジェクトをインポートする

SVNのベストプラクティスである標準レイアウト(trunk, branches, tags)に従い、主開発ラインである trunk 階層にインポートします。
svn import my-app svn://localhost/my-app/trunk -m "Initial commit for my-app" --username admin --password password123

管理対象としてチェックアウトし直す

svn import を行っただけでは、現在ローカルにある my-app フォルダはSVNの管理下(作業コピー)になっていません。
今後このフォルダで編集・コミットを行えるようにするため、一度元のフォルダを退避させ、SVNからチェックアウトし直します。

svn checkout svn://localhost/my-project/trunk my-app --username admin --password password123

以上です。

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?