いよいよRedmineを入れる。
OpenShiftのGitHubにインストール用の一式があるのでそれを使う。
openshift-redmine-quickstart
README.mdに書かれていることをそのままトレースするだけの簡単なお仕事。
MySQLで入れるかPostgreSQLで入れるかが最大の悩み。PostgreSQLの方が使い慣れているけど、新しいことにチャレンジしようということでMySQLにしてみる。
C:\>rhc app create redmine ruby-1.9 mysql-5.1
これで一見Redmineが入ったようにログが見えるけれど、表示されたURLにアクセスしてもWelcomeページが表示されるだけ。続いてGitを使ってソースをアップする必要があるよう。
READMEを見るとredmineディレクトリがあるようだがローカルにない。
試しに次のgitコマンドを投げてみる。
$ git remote add upstream -m master git://github.com/openshift/openshift-redmine-quickstart.git fatal: Not a git repository (or any of the parent directories): .git
やっぱりエラー。
よくよくrhcコマンドのログを見ると、
You do not have git installed, so your application's git repo will not be cloned
と。どうやらgitが入っていないからリポジトリをcloneできなかった様子。
Git for Windowsは入れていなくてSourceTreeでGitを使っているからgitコマンドにパスが通っていないのが原因か。
SourceTreeのターミナルならgitコマンドが使えるので、このターミナル上でアプリケーションのインストールをしてみることにする。
その前に、まずはできてしまった中途半端なredmineを削除する。rhcのヘルプを見ると「app delete xxx」で消せるよう。
$ rhc app delete redmine This is a non-reversible action! Your application code and data will be permanently deleted if you continue! Are you sure you want to delete the application 'redmine'? (yes|no): yes Deleting application 'redmine' ... deleted $ rhc apps No applications. Use 'rhc create-app'.
消えたようなので、気を取り直して。
前回の実行ログからするとカレントディレクトリの直下にredmineのリポジトリがcloneされるようなので、先にリポジトリを作ってもいいパスに移動して置いたほうがよさそう。(リポジトリの場所をきちんと管理したいので)
そこでまずGitのリポジトリ用のディレクトリをローカルに作る。
ここでは「C:\Users\Username\Documents\OpenShift」とする。
次にそのディレクトリに移動してから再度rchコマンドを実行。
$ cd /c/Users/Username/Documents/OpenShift/ $ rhc app create redmine ruby-1.9 mysql-5.1
やっぱりgitがないと言われてしまった。。。
ログをよく見ると最後のところにアプリケーションのgitのURLが書かれていることに気付いた。
仕方ないので、このURLを指定して手動でローカルにcloneをすることにする。
まず、SSHのキー登録が必要。先に登録しておかないとcloneするときに怒られる。
まずはPuTTY用のキーを生成する必要があるよう。SourceTreeの「ツール – SSHキーの作成/インポート」でPuTTYのキージェネレータを起動し、「Conversions – Import key」からOpenShiftのSSHキー(秘密鍵)を読み込む。SSHキーは「rhc setup」をした時に「C:\Users\Username\.ssh\id_rsa」としてできている。
に、「Save private key」で秘密鍵を保存する。元のキーと同じ場所に「id_rsa.ppk」というファイル名で保存。
続いて、PuTTYに上記で保存したキーを登録する。
タスクトレイに「Pageant」というPuTTYのエージェントがいるのでダブルクリックして起動し、「Add key」で先ほどの「id_rsa.ppk」を読み込み登録完了。
いよいよリポジトリのclone。SourceTreeなので「新規/クローンを作成する」から。「元のパス/URL」にログに出ていたURLを、「保存先のパス」に「上記で作ったリポジトリ用のディレクトリ/redmine」を指定して、「クローン」を。まだ何もないのですぐに完了。
(うっかりログを保存せずにコマンドプロンプトを閉じてしまった場合は「rhc apps」で確認できるのでご安心を。)
ようやくGitHubのリポジトリを持ってきてOpenShiftにアップする準備が整った。
気を取り直してopenshift-redmine-quickstartの続きを。ここからは手順にあるコマンドを打つのでGUIではなくSourceTreeのターミナルから。
$ git remote add upstream -m master git://github.com/openshift/openshift-redmine-quickstart.git $ git pull -s recursive -X theirs upstream master warning: no common commits remote: Counting objects: 3341, done. remote: Total 3341 (delta 0), reused 0 (delta 0), pack-reused 3341 Receiving objects: 100% (3341/3341), 6.04 MiB | 250.00 KiB/s, done. Resolving deltas: 100% (522/522), done. From git://github.com/openshift/openshift-redmine-quickstart * branch master -> FETCH_HEAD * [new branch] master -> upstream/master (省略) $ git push Counting objects: 3350, done. Delta compression using up to 4 threads. Compressing objects: 100% (2701/2701), done. Writing objects: 100% (3339/3339), 6.04 MiB | 742.00 KiB/s, done. Total 3339 (delta 529), reused 3327 (delta 522) (省略)
pushしたらインストールが動くのが不思議。いったいどうなっているのか謎。「.openshift」の中にいろいろスクリプトがあるようなので、これらがgitに更新されたら自動的に動く仕組みなんだろうか。気が向いたらいずれ調べる。
http://redmine-ドメイン.rhcloud.com/にアクセスするとちゃんとRedmineのトップページが表示される。adminのパスワードを変えてとりあえずインストール完了。