Skip to content
This repository has been archived by the owner on Dec 6, 2018. It is now read-only.

Easy development with vagrant #442

Merged
merged 5 commits into from
Apr 6, 2013

Conversation

KengoTODA
Copy link
Member

新しい開発者が増えることを期待して、開発環境構築をコマンドひとつで終えられるようにしました。
virtualboxとvagrant 1.1系が入っている環境で、vagrant upを実行するだけでpostgres 9.1とPlay! 2.0.4とOpenJDK 7が入ったUbuntu 12.04がセットアップされます。コードの編集はVMのホストで、コードの実行はゲストVMで行う(cd /vagrant && ~/play-2.0.4/play)ことができます。ホストの9000ポートをゲストの9000ポートに転送しているので、サービスへのアクセスはホストで(http://localhost:9000/)行えます。

メモリを2GiB食うことやJDKやpostgresのインストールに時間がかかること、Twittter APIのトークン取得が要ることなどからコストを"なくした"とまでは言えませんが、やってみようかなと思いついた際に払うべき手間はだいぶ"削減できた"と思えます。
virtualboxはともかくvagrantを持っている開発者は限られるかもしれませんが、わりとHOTな技術なので導入に抵抗はない……はず。きっと。

ファイルが215個と大量に増えていますが、ほとんどが/cookbooksと/site-cookbooksの中に配置されているクックブックです。PARTAKEそのもののコードには変更はありません。


今はまだこのブランチをマージしないでください。
700MiBで構築した仮想環境内でテスト(play test)が通ることは確認していますが、起動時(play start)にJavaScriptが正しく結合されないという問題も見つかっています。メモリ量由来の可能性もあるので、メモリを潤沢に使える環境でもう一度試し、そこで問題がなければMergeして良いだろうと思っています。

@KengoTODA
Copy link
Member Author

マージされたあとにやるべきこと

  • クックブックのライセンスを明記(Apache 2.0との互換性確認)
  • Wikiにvagrantを使う場合のセットアップ方法を明記

@mayah
Copy link
Member

mayah commented Apr 6, 2013

Looks nice.

mayah added a commit that referenced this pull request Apr 6, 2013
@mayah mayah merged commit 9ab3053 into partakein:master Apr 6, 2013
@KengoTODA
Copy link
Member Author

Windows環境で立てたVMではplay start時に以下のエラーが出ます。たぶんPlayの問題(ディレクトリ区切り文字の扱い?)です。
VM内でリポジトリをcloneしなおすと問題なくビルドできます。

[error] {file:/vagrant/}PartakePlay/*:play-copy-assets: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "split" of undefined (less-1.3.0.js#361)
[error] {file:/vagrant/}PartakePlay/compile:resources: org.mozilla.javascript.EcmaError: TypeError: Cannot call method "split" of undefined (less-1.3.0.js#361)

Oops, cannot start the server?

play startがうまく行った場合でも、JavaScriptコンソールに4つのエラーが出てJavaScriptが動きません。以前あったPlayがJavaScriptをきちんと結合しないという問題とエラー内容は同じです。Playのアップデートで解消されたと思っていましたが。
Windowsの問題なのかPlayの問題なのか不明です。OSXでは問題なく動いています。追って調べます。

TypeError: $.timepicker is undefined
[Break On This Error]   

...={};(function($){$.timepicker.regional["ja"]={timeOnlyTitle:"\u6642\u9593\u3092\...

partak...207506) (line 38)

ReferenceError: createPartakeClient is not defined
[Break On This Error]   

partake = createPartakeClient('a2cfb393-abd5-48ed-82d7-5d34573acfbf');

localhost:9000 (line 40)

TypeError: $(...).masonry is not a function
[Break On This Error]   

$('#searched-events').masonry({

localhost:9000 (line 324)

TypeError: $(...).datetimepicker is not a function
[Break On This Error]   

dateFormat: 'yy-mm-dd'

localhost:9000 (line 206)

@KengoTODA KengoTODA deleted the easy-development-with-vagrant branch April 9, 2013 12:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants