基本的にこのへんにならう。
http://docs.cloudfoundry.com/frameworks/java/spring/grails.html
http://blog.springsource.com/2011/04/12/one-step-deployment-with-grails-and-cloud-foundry/
http://docs.cloudfoundry.com/tools/deploying-apps.html
repositories {
| --- | |
| deployment: | |
| name: "dea" | |
| domain: "hoge.com" #使用するドメイン | |
| jobs: | |
| install: | |
| - stager | |
| - dea: | |
| local_route: "192.168.249.44" #自分の環境に合わせる (この設定ファイルが置かれるDEAのIPアドレス) |
| server 'localhost', :test | |
| server '127.0.0.1', :test2 | |
| task :test_serially do | |
| serially do | |
| run 'date && sleep 5' | |
| end | |
| end | |
| def serially(&block) |
| source :rubygems | |
| gem 'cfoundry' | |
| gem 'uuidtools' |
| source :rubygems | |
| gem 'cfoundry' | |
| gem 'uuidtools' |
このgistは Cloud Foundry Advent Calendar 2013 の16日目の記事です。
現在、CloudFoundryのComponentsはGo化しつつあります。それにより、Rubyで実装されていたものに対して性能向上していたり、ソースが読みやすくなっていたりする(こちらは主観ですが・・)半面、開発者にとっての課題も生まれています。その課題のひとつが__依存パッケージ管理__です。まずはRubyの外部パッケージ管理について簡単に振り返りつつ、Goのそれを見ていこうと思います。
Rubyでは外部パッケージはGemファイルとなっており、大抵の場合、Bundlerで管理します。また、最新版が動くとは限らないため設定ファイルにバージョンを指定してそれを使用します。Gemファイル自体はRubyGems.orgに置かれており、ここからダウンロードされます。
Goではソースコード中のimport句でパッケージを指定します。設定ファイルは使いません。以下に例を示します。
| package main | |
| import ( | |
| "bufio" | |
| "code.google.com/p/go.net/websocket" | |
| "github.com/kr/pty" | |
| "io" | |
| "flag" | |
| "fmt" | |
| "log" |