SVNサーバの移動
VMware(ESXi7.0)の環境を作って2ヶ月。それまで自宅で動かしていたサーバの機能は、一通りVMware上の仮想サーバに移したのですが、一つだけ残していたのがSVNサーバの稼働です。
VMware(ESXi7.0)への環境構築
難しい話でも何でもなく、特に急がなかったから、というのが理由です。では、なぜこの時期に?というのは「風が吹けば桶屋が」的な話ですが、メインで使用しているスマホ SH-51A に、Andoroid 11へのアップデート通知が来たからです。
新しいものを試してみたい、という思いの裏に、ひとつだけ気がかりがあったんですね。
それが、自作のAndroidアプリが動くのか、ということ。10で動いてるので、まぁ11でも動くだろうとは思うのですが、アップデートしてから「ひゃー、動かない!」だけは避けたいので、Android Studio の仮想デバイスで確認しておきたかった、という理由です。
いや、直接の理由になってないですね。
Android Stuido の作成環境をSubversionで管理していたので、サーバを立ち上げなおす必要があった、ということです。もちろん、サーバ間でリポジトリを移動させる、という手間も必要です。
というわけで、まずは、ESXi7.0上にCentOS 7のサーバを作成します。
SVNサーバの設定
まずはSVNサーバのサービス、subversionをインストール。
# yum install subversion
今回は、インストール時の「ソフトウェアの選択」でいろいろなツールを追加したので、インストールは不要でした。
次に、リポジトリ用のディレクトリを作成します。名前のこだわりではないのですが、
/home/svn/repos/
をリポジトリ用のルートディレクトリとします。実際のリポジトリは、この下に作成します。
ですので、subversionの設定を変更します。
/etc/sysconfig/svnserve
# Specify the repository location in -r parameter:
OPTIONS="-r /home/svn/repos/"
他PCからのSVNサーバへのアクセスを行いますので、ポートの開放を行います。
# firewall-cmd --permanent --add-port=3690/tcp
# firewall-cmd --reload
最後に、SVNのサービスを起動時にも有効にして、立ち上げます。
# systemctl enable svnserve.service
# systemctl start svnserve.service
念のためテスト
test というリポジトリをテストで作成します。
# svnadmin create /home/svn/repos/test
testリポジトリの中にファイルを作成するのは後にして、まずは、Tortoise SVNからアクセス。リポジトリブラウザーを使用します。
あれ?
「Unable to connect to a repository at URL 'svn://192.168.xx.xx/home/svn/repos/test’ No repository found in 'svn://192.168.xx.xx/home/svn/repos/test’」
と出て、アクセスできてないですね。
/etc/sysconfig/svnserve での設定を忘れてました。
アクセスは、 svn://192.168.xx.xx/home/svn/repos/test ではなく、svn://192.168.xx.xx/test です。
リポジトリをまとめて移動
元のサーバで、リポジトリから履歴込みでバックアップを取ります。ちなみに、リポジトリ名は、AndroidProjectという名称で運用していました。(新旧サーバともリポジトリの階層は同じです)
# svnadmin dump /home/svn/repos/AndroidProject > AndroidProject.dat
作成した dat ファイルは、WinSCP で、一旦ローカルPCに移しておきました。
新サーバでは、同名のリポジトリを作成しておきます。
# svnadmin create AndroidProject
このファイルをWinSCPで新サーバのリポジトリルートディレクトリにアップロードします。
# svnadmin load AndroidProject < AndroidProject.dat
これだけです。
アクセスできるユーザとパスワードを設定
旧サーバで設定していなかっただけなんですが、リポジトリにアクセスできるメンバーを限定しておきます。
/home/svn/repos/リポジトリ名/conf/svnserve.conf
[general]
# anon-access = read
# auth-access = write
anon-access = none
auth-access = write
password-db = passwd
anon-access を noneにし、password-db に passwd を設定します。
/home/svn/repos/リポジトリ名/conf/passwd
[users]
ユーザー名 = パスワード
# harry = harryssecret
# sally = sallyssecret
これでOKです。
動作確認
せっかくなので、Android Studioと仮想デバイスは、今年1月に購入した OMEN by HP 25L Desktop GT12 で動かしてみたいという思いから、新たに Android Studio をインストールしたうえで、開発環境(ソースコード等一式)を、最新の環境をESXi7.0に設置したSVNサーバから取得しました。
Android Studio に、Android 11.0 のSDKを追加し、AVDマネージャからAndroid 11.0の仮想デバイスを追加して、ビルド後に実行。
問題なく動くことが確認できましたので、いつでも SH-51A を 11 にアップデートできそうです。