基本的にこのへんにならう。
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" |