2014年12月1日月曜日

svnをgitに移行する。

稼働中のsvnサーバーを別サーバーにgitとして移行する。
使用したもの。
稼働中サーバー:Ubuntu 12.04.1
移動先サーバー:Ubuntu 14.04.5
ローカル作業環境:Cygwin

稼働中のsvnサーバーから試にリポジトリを一つgit svn cloneする
clone先でコマンド実行する。
リポジトリがtrunk, tags, branchesになっている場合には-sオプションをつけるといい?
--prefix=svnオプションをつけると、タグやブランチなどがsvn表示されて判別しやすくなる。

mkdir SvnToGit
cd SvnToGit
git svn init -s --prefix=svn/ http://[サーバーアドレス]:[接続ポート]/[svnパス]
git svn fetch

これで、素直なリポジトリだとHEADまで取得できる。

タグの移行
svnからcloneしてきたタグを確認する。
タグの数が多かったり、変な名前のタグが混ざっている場合には取り除いて自動タグ作成したほうが良い。
今回は極小だったので手動タグ生成。

git tag "タグ名" "svn/tags/タグ名"
タグが生成されたか確認。
git tag -r

移行の準備が整ったリポジトリをPushする
移行先のサーバーに移行用のリポジトリを新規作成しておく。

mkdir SampleProject
cd SampleProject
git init
sudo chown -R git:git ../SampleProject
git config --bool core.bare true

Pushする。

git push ssh://git@サーバーアドレス:接続ポート/リポジトリまでのパス/.git

2014年11月27日木曜日

チケット管理ツール、Gitクライアントなどmemo

チケット管理ツール
・Redmain
・Trac
・JIRA
・Rivotal Tracker
・Backlog
 30日間無料
・Visutal Studio TFS
 5人まで無料

Gitクライアント
・Git Gui
・SourceTree
・Eclipse Egit

Git + アルファ
・Jenkines

trac,svn,mysqlのバックアップ->リストア

svnのバックアップ
svnadmin dump [プロジェクトまでのパス]/[プロジェクト名] > [バックアップファイル名]
svnadmin hotcopy [プロジェクトまでのパス] [バックアップまでのパス]
のほうが良いかも。

svnのリストア
以下の本家サイトの通りにsvnリポジトリを作成する。
http://trac.edgewall.org/wiki/Ubuntu-11.04-Subversion

以下のコマンドを実行する。
svnadmin load [リポジトリまでのパス]/[リポジトリ名] < [バックアップファイルまでのパス]/[バックアップファイル名]

mysqlのバックアップ
以下のコマンドでバックアップを実行するにはホームディレクトリなどで実行すること。
でないとpermission deniedエラーが発生する。
mysqldump -u [ユーザ名] -p [プロジェクト名] > dump.sql(バックアップファイル名)

全てのデータベースのバックアップを取りたい場合には以下のコマンドを実行する。
mysqldump -u [ユーザ名] -p -x --all-databases > dump.sql

mysqlのリストア
データベースを本家サイトの通りに作成する。

作成したらリストアを実行する。
特定のデータベースをリストアするには以下実行。
mysql -u [ユーザ名] -p [データベース名] < [バックアップファイル名]

バックアップデータのすべてのデータバースをリストアするには以下実行。
mysql -u [ユーザ名] -p < [バックアップファイル名]

tracのバックアップ
trac-admin [プロジェクトまでのパス]/[プロジェクト名] hotcopy [バックアップ先のパス]

tracのリストア
sudo cp -Rf [バックアップファイルまでのパス]/[バックアップファイル名] [tracリポジトリまでのパス]/[プロジェクト名]

tracとリポジトリの同期
以下のような感じ
trac-admin /var/lib/trac/SampleProject/ repository resync "*"
sudo /etc/init.d/apache2 restart

以上実行し、ブラウザ確認したら以下のエラーが出ていた。
The Trac Ecvironment needs to be upgraded.
SQLihgtを使用していない場合には、以下のオプションを指定してupgradeする必要がある。
--no-backup

Upgradeコマンド実行。
trac-admin /var/lib/trac/SampleProject/ upgrade --no-bakup

上から順に実行するとうまくいった。

バックアップファイルの移動方法
バックアップファイルを他のホストサーバに移動するには、sftpコマンドとか使用する。

sftpコマンド

sftpコマンド使用法
sftpでヘルプが見れる
sftp -P [ポート番号] [ユーザー名]@[ホストサーバー名]
でsftp操作開始

ホスト用コマンド
ls
cd
get :ファイル転送用コマンド ホスト->クライアント
mget :複数ファイル転送用コマンド

クライアント用コマンド
lls
lcd
put :ファイル転送用コマンド クライアント->ホスト
mput :複数ファイル転送用コマンド

exit :sftp終了コマンド

ディレクトリを送信したい場合には、tarファイルにアーカイブすると送れる。

2014年11月26日水曜日

Gitlab入れてみる。

Gitlab入れてみる
公式サイトのインストール手順の通りにやってみる。
https://github.com/gitlabhq/gitlabhq/blob/be39106af73cc89098c290574da2be1488e76a7e/doc/install/installation.md



2014年11月25日火曜日

こまごま

cygwin
ネットワーク内のパスの指定方法
cd //ubuntu/var/lib/trac
など

mysql

mysqlのコマンド
ログイン
mysql -u root -p

ユーザの確認
sekect host,user,password from mysql.user;

パスワードの変更
set password for ユーザ名@"ホスト名"=password('パスワード');

設定されている権限の確認
show grants for 'user'@'localhost';