Google Analytics Reporting API (v4 API) でのフィルタ指定

Core Reporting API (v3 API) から Google Analytics Reporting API (v4 API) へ乗り換えようとしていて、 filter 適用する際のパラメータで詰まったのでメモ

ユースケース:指定ディレクトリへのオーガニック流入セッション数を取る

ga:medium のフィルターと ga:pagePath AND 条件の実装が必要となる

Request Body パラメータ

requestBody: {
    reportRequests: [
        {
            viewId: viewId,
            dateRanges: [
                {
                    startDate: '2019-11-01',
                    endDate: '2019-11-30'
                }
            ],
            dimensions: [
                {
                    name: 'ga:date'
                }
            ],
            metrics: [
                {
                    expression: 'ga:sessions'
                }
            ],
            dimensionFilterClauses: [
                {
                    operator: "AND",
                    filters: [
                        {
                            dimensionName: 'ga:medium',
                            operator: 'EXACT',
                            expressions: [
                                "organic"
                            ]
                        },
                        {
                            dimensionName: 'ga:pagePath',
                            operator: 'REGEXP',
                            expressions: [
                                "/dir1/"
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

v4 API は dimension に対するフィルタと metrics に対するフィルターでそれぞれ分けて書くようになっている

dimensionFilter のリファレンスはコチラ

今回使用した ga:medium, ga:pagePath はどちらも dimension であるため、 dimensionFilterClauses プロパティに条件設定している

使いたい ga:xxxx が dimension なのか metrics なのか判別つかない場合は、以下のページで検索しよう

https://ga-dev-tools.appspot.com/dimensions-metrics-explorer/

参考

改めて考えるCore Reporting V4 APIのメリット

GCPサービスアカウントの p12 ファイルから token を取得する

サービスアカウントの JSONAPIキーを使用した token の取得方法はそこそこ見つかったけど、 p12 ファイルを使用した場合のやりかたを探すのにだいぶ遠回りしたのでメモ。

使用するのはこれ

github.com

準備

const { GoogleToken } = require('gtoken');
const gtoken = new GoogleToken({
  keyFile: 'path/to/key.pem', // or path to .p12 key file
  email: 'my_service_account_email@developer.gserviceaccount.com',
  scope: ['https://scope1', 'https://scope2'] // or space-delimited string of scopes
});
  • keyFIle ・・・ p12 や pem でも大丈夫らしい ※ pem は未確認
  • email ・・・ サービスアカウントの email
  • scope ・・・ auth 対象のサービス群を列挙、配列形式のほかスペース区切りの文字列でも可とのこと

token 取得

Promise 返ってくるので、 await するか then で受けるか

const tokens = await gtoken.getToken()
console.log(tokens);
gtoken.getToken()
  .then(tokens => {
    console.log(tokens)
  })
  .catch(console.error);

補足

json ファイルでの認証や、秘密鍵からの認証も用意されている

https://github.com/googleapis/node-gtoken#use-with-a-service-account-json-key-file https://github.com/googleapis/node-gtoken#pass-the-private-key-as-a-string-directly

boshu チャンネル

これは、 Splathon Advent Calendar 2019 1日目の記事です。


寒くなってきましたね、 Splathon コミュニティオーナーをやっております id:kawakubox です。

昨日、Splathon 4周年を祝う会を行い、Splathon コミュニティも5年目に突入しました。

今年の Splathon Advent Calendar では Splathon Slack Workspace で最も投稿量の多いチャンネルである #boshu について紹介します。

boshu とは

boshu 👉 募集 のことで、ブラベやリグマなどのお誘いをするチャンネルです。

f:id:kawakubox:20191201093254p:plain

直近30日での投稿量も、2番手を大きく引き離していますね。

※しかし、 pokemon, pokemon_gachi もほぼ稼働し始めて半月程度なのでヤバさ溢れてますね😅

チャンネルの基本的な使い方は

22:00~23:00頃までSpladder#4練習相手募集 Round2ルルステ 個人4 or チーム チームを優先 こちら銀杏並木Masters(平均XP24くらい) よろしくおねがいします。

  • プラベ時間
  • 目的
  • 募集人数
  • 条件

の要素で構成されたメッセージを投稿します。

ここで出てくる Spladder#4銀杏並木Masters は固有名詞です。

Spladder#4 はリーグ戦のタイトル、銀杏並木Masters はチーム名を指しています。

あまりに力量差のあるメンバーとやっても練習としての効果も乏しいので、チーム平均XPや、X*2名 S+*2名 という構成のオーダーもあったりします。

近況

この boshu ですが、先日行われた Splathon#11 を境にコミュニティ史上最大の盛り上がりを見せています。

あまりにも勢いがあったので、かんたんな調査してみました。

調査期間 2019/11/1 ~ 2019/11/30

サマリ

  • 総募集回数 158回 (うち成立 147回)
  • 平均募集回数 5.27回/日

日別募集回数

f:id:kawakubox:20191201112059p:plain
日別募集回数

募集時間傾向

f:id:kawakubox:20191201112447p:plain
時間帯別募集回数

募集用途

募集用途 回数
リグマ 8
プラベ 45
Ladder 練習 91
10勝プラベ 5
Rookie League 練習 6
なわばり対抗戦 1
eXtreme 練習 2

やはり今開催中の Spladder 練習 目的が多いですね。

そんな中 Rookie League 練習 が6回あるのが個人的にはうれしいです。

活況の要因

今になって boshu がここまで活発になった要因を考えてみました。

一番は、 boshu チャンネルでのプラベ募集の心理障壁が低くなったことです。

11月以前の boshu はXパワーの指定はないものの高めなメンバー*1が集まる、そんな空気感が広がっていたように思います。

最近立ち上がったオンラインイベントで Rookie League というものがあります。

Rookie League に参戦している方々も boshu を利用するになったりと、 boshu に投稿する顔ぶれも増えてきました。

他にも上げるとすると、ブキ種縛りプラベ*2などの企画モノ出てきたりと boshu に手を上げやすい地盤ができているのかなと思います。

最後に

Splatoon2 は発売から2年半近くを迎え、大きなアップデートも終了しています。

残念ではありますが、プロダクトライフサイクルとしては衰退期に入っていることは認めざるを得ません。

Splathon では、うまいこと潜在層の引き上げに成功してるなぁという印象を受けます。

一重に多様なオンラインイベントのオーナーや参加者に感謝です。

2020年も Splathon を遊びや交流の場として楽しんでいきましょう。


明日は、ぺんとんさんによる『情報伝達の確度』です。

お楽しみにっ

*1:XP2300〜といった感じです

*2:ダイナモ種限定や、ボールド、短射程限定といったもの

そうぞうしゅのおしごと

これは Splathon Advent Calender 2018 の1日目の記事です。

こんにちは id:kawakubox です。

みなさまイカがお過ごしですか?

はやいもので、2018年も Advent Calendar の季節がやってまいりました。

今年は Splathon でも Advent Calendar をやってみようと思い、ノリで立てたら思いのほか枠が埋まってくれました。

ここまでくると25日全部埋めるという欲が出てきますね。


2018年5月4日に行われた Splathon#8 で「そうぞうしゅ」というありがたい二つ名を付けていただき感謝、感激、マンメンミなわけですが、今日は「そうぞうしゅ」として何をやっているかということを書いていこうと思います。

f:id:kawakubox:20180604172603p:plain
Splathon#8 エンドロールより

Splathon とは

そこそこ認知度は上がってきたかと思いますが、改めて Splathon の定義を貼っておきます。

「スプラソン」(Splathon)とは、スプラトゥーンsplatoon)とマラソンmarathon)を組み合わせた造語で、複数の参加チームが、マラソンのように、 数時間から数日間の与えられた時間を徹してSplatoonに没頭し、戦果を競い合うゲームイベントのことをいいます。

当初は、ゲームイベント自体を「Splathon」呼称していましたが、最近はコミュニティー自体を指すようにシフトしています。

おしごと内容

  • 対抗戦イベント企画
  • オフ会企画
  • ノベルティ作成
  • コミュニティマネジメント

やっていることは一般的なコミュニティオーナーと変わらないと思います。

対抗戦イベント企画

大きく分けて、 Offline イベント、 Online イベントがあります。

  • Offline イベント
  • Online イベント
    • Splathon Online League (通称:SOL)
    • Splathon eXtreme
    • Splathon Ladder League (通称:Spladder)

それぞれのイベントの概要を紹介します。

Splathon (別名:オフラソン

オフラインの1Day企業対抗戦となっています。

きっかけは Online でもできるけど、わざわざ一つの会場に持ち寄ってやったら「バカ」っぽいよねという悪ノリから始まっています。

かつては WiiU を16台持ち込んだり、直近ではモニター40枚以上を設置して参加者150名超のイベントとなっています。

これまで8回開催しており、Splathon#9 も開催に向けて準備が進行しています。

Splathon Online League (SOL)

コミュニティー内のメンバーでチームを作って1~3ヶ月くらいの期間で行うリーグ対抗戦で、エンジョイ寄りのイベントになっています。

今現在(2018.12)で3回目を開催中です。

ウデマエも B ~ X と幅広く、コミュニティー内で交流を深めることを目的として企画しています。

Splathon eXtreme

Splathon には50名を超える X プレイヤーがいます。

※Slack のアクティブなアカウントは多くても150名くらいなので、2, 3人に一人は X プレイヤーとなります。

その中にはブキトップ取ったり、フェスで1桁順位取ったりする人もいます。

そんな X プレイヤーたちの中でドラフトを行い1Dayの対抗戦を行う大会となっています。

Splathon の中ではもっともガチ寄りの大会となっています。

Spladder

企業番付を搭載したランキング制のラダーリーグです。

企業内でチームを組んでもらい、所定の期間対抗戦を行い最終番付を競います。

以下のような目的をもって企画されています。

  • オンラインでの企業・団体による対抗戦をより活発化する
  • オフラソン本戦に向けて企業・団体内チームで練習する機会を作る

オフラソンでは1社1チーム制約があります。 結果ガチメンバー構成になってしまい、エンジョイ勢が参加できないケースがありました。Spladder はその制約を設けていないので、ガチチーム、エンジョイチームを構成して複数チームエントリーする企業なども見られました。

直近の Spladder#1 は3ヶ月間に渡り執り行われ、最終的に25チームの参加となりました。


当初は Offline イベントにあたる Splathon だけだったんですが、会を重ねるごとに規模が大きくなってきています。

会場手配・機材手配の難度があがってきており、開催間隔が開きつつあるのが現状です。

しかし、Online イベントにウェイトを寄せて始めてから、 Online イベントで交流を重ね Offline イベントで「あのときはどうも〜」といったコミュニケーションに発展する良いサイクルが生まれているように感じます。

また Online イベントは、コミュニティ内のメンバーが企画して取り仕切るケースが増えてきて、私はサポートに回ることが多くなってきています。

こういった体制に移りつつあるので、いろんな企画が出てきているのでイチ参加者として、今後も楽しみです。

オフ会企画

忘年会とか、オフラソンに向けての検証会とかの企画です。

  • 忘年イカ(忘年会)
  • Switch 発売記念イベント
  • Splatoon2 前夜祭イベント
  • Splatoon2 発売記念イベント
  • オフラソン検証会
  • and more ...

ことあるごとに、口実作ってイベントやってます。 ※そろそろスマブラも出るし、なんかやりたいですね。

検証会では、Cisco のスイッチ持ち込んでインターネットに繋がない状態でのプラベ環境構築に向けて検証したりしてます。

このへんは 12/16 の Adventar がブログ書いてくれると思います。

3rd Anniversary

先日(2018.11.29)が、 Splathon#1 から数えてちょうど3年になるので、 Splathon 3rd Anniversary というオフ会を開きました。

平日にもかかわらず35名に参加いただきました。

普段プラベでは何度も会話してるものの、初めてお会いする方も多く企画してよかったなと思っております。

ノベルティ作成

この1年で念願のロゴもできたので、ノベルティ(ステッカー)を作ったりなどもしました。

こちらは、先日の 3rd Anniversary で配布したものになります。

f:id:kawakubox:20181201161754p:plain
ノベルティのステッカー

コミュニティマネジメント

Splathon の Slack は non-active 含め620名ほどいるのですが、クローズドなコミュニティということや、95%くらい社会人ということもあってか、コミュニティ運営という点にはほとんど力かけずに成り立っています。

この点は非常に助かっております。

とはいえ、「こいつはこんなキャラなんだ」という暗黙の了解の上でのコミュニケーションが占める割合が増えているのもたしかです。

万人受けするようにしたいという考えはないですが、こうした暗黙知がなくても気持ちの良いやりとりができるような働きかけを少しずつ増やしていこうかなぁという所存です。

最後に

Splathon が3年も続いているのはみなさまのおかげですっっっ。

これからも末永くお付き合いいただければと思いますっ。

マンメンミっ!!!


明日は 、竹ブキトップ経験者の Adventar による『竹はいいぞ』ですっ。

お楽しみにっ。


過去の Splathon の様子はこちらをどうぞ

Splathon#8 開催報告するぞっ

開催から少々間が空いてしまいましたが、Splathon#8の開催報告をします。

2018年5月4日 世間は GW 真っ只中でありますが、150名近くのイカたちが集まりました。

中には親子連れもチラホラ。

会場

Splathon#7 までは 株式会社Speee で行ってきましたが、Splathon#8 は Speee を飛び出して、合同会社DMM.comさんのイベントスペースで開催しました。

f:id:kawakubox:20180604124947j:plainf:id:kawakubox:20180604124956j:plain

広い、広い

150人入ってもまだまだ十分な余裕があります。

参加企業/チーム

前回と同じ 24 企業/チーム のエントリー。

チーム名 社名  参加回数
【値下げ交渉可】赤ザップ *****
Ajitoon 株式会社VOYAGE GROUP 2
bizreaca 株式会社ビズリーチ 5
DMM.ika 合同会社DMM GAMES
KLaken KLab株式会社
OK はやぶさ(返事がない) ***** 6
アマイイカ 株式会社Donuts 2
イカクロ 株式会社オズ 3
イカツキ 株式会社アカツキ
がん☆あつ *****
しくみ&セガ連合かっこかり しくみ製作所株式会社&セガグループ 8
すげーイカ 株式会社アドウェイズ 2
セルシスイカ部(仮) 株式会社セルシス
チームPicApp ピックアップ株式会社 3
デカLINE LINE株式会社 2
ミランドラproject ***** 8
雲丹亭 ユニティ・テクノロジーズ・ジャパン合同会社
国民健康保険 フリーランス -
住まイカんぱにー 株式会社リクルート住まいカンパニー
都立道玄坂高校タコ部(仮) 株式会社CyberAgent 6
倒れる様にマンメンミ ピクシブ株式会社 7
頭文字D *****
株式会社ドワンゴ 8
あわさんにおんぶにだっこ 会場内即席チーム -

初参加の企業/チームが8つもあり、Splathonの広がりを感じます。

注目は、決勝トーナメント常連の 都立道玄坂高校タコ部(仮) 、それに募集時点でのウデマエが高かった しくみ&セガ連合かっこかり あたりです。

企業対抗戦

f:id:kawakubox:20180604131852j:plain

開会式

より大会感を出すために、今回から開会式を設けました

開会式コンテンツ

  • 前回優勝チームからのトロフィー返還
  • 参加企業/チームの自己紹介
  • 選手宣誓

選手宣誓は第1回から参加してくれているしくみ製作所の えびですぷりぷりー さんにお願いしました。

予選

レギュレーション

過去のSplathonと変わりはありません

  • ブキ、ギアは当日までにリリースされているもの全て利用可能
  • ルール、ステージの制限もなし
  • ギアはメイン、サブ含めて自由
  • 先攻がルールを決めて、後攻がステージを決める 2試合目は先攻後攻を入れ替えての実施
  • 2戦終えての勝ち点制
    • 勝ち : 3pt, 分け : 1pt, 負け : 0pt

予選4ラウンドを終えての結果はこちら。

f:id:kawakubox:20180604133740p:plain

  • Splathon最多優勝をねらう
  • こんどこその悲願の優勝を 都立道玄坂高校タコ部(仮)
  • 初出場で大健闘、今回のダークホース がん☆あつ
  • ウデマエの高さは伊達じゃない しくみ&セガ連合かっこかり

以上4チームが決勝進出 👏

決勝トーナメント

レギュレーション

予選と基本同じすが、以下の2点だけ違いがあります

  • 準決勝は2試合終えて引き分けの場合は、ルール:ナワバリ、ステージ:おまかせ

  • 決勝は3本先取

勝戦

vs しくみ&セガ連合かっこかり

初戦 は得意の ガチヤグラ で先勝、 1 - 0 とします。

2戦目、しくみ&セガ連合かっこかり は、 ナワバリ を選択し、きっちりスコアを 1 - 1 のイーブンに。

3戦目、 は得意の ガチヤグラ を指定するも 1pt 差で落としてしまい 1 - 2 と勝ち星を先行され王手をかけられる。

4戦目、しくみ&セガ連合かっこかり は、 ナワバリ を選択。 対する は、 バッテラストリート を選択。

2戦目と同じルール・ステージになりました。

目まぐるしく変わる試合展開、ラスト15秒時点では 有利に見えましたが、そこから しくみ&セガ連合かっこかり の巻き返しが始まるっ!!

ホイッスルが鳴り、旗は、、、、、コジャッジくんだぁ〜〜〜〜。

シャープマーカーネオ を持った えびです ぷりぷりー 選手の 1,402pt の塗りが光ります✨

3戦目の相手得意ルールの ガチヤグラ を取ったのが大きかったですね。

優勝おめでとうございまっす 🎉

懇親会

メシ

Splathon の楽しみの一つにもなっている懇親会メシ。

今回もケータリングで温かいメニューも用意してます。

LT

有志によるLTは3本ありました。

15 さんによる「ノヴァブラスターのキル動画集」

発表スライド

docs.google.com

キル集

www.youtube.com

おまけ:デス集

www.youtube.com

ミランドラさんによる「A帯だけど機械学習YouTubeを駆使して最短でウデマエを上げてみなイカ?」

www.slideshare.net

あわさんによる「S+200が質問答えます」

全ルールカンストでもある あわ さんが答える Q&A コーナー。

「ためしうち」での練習法などを会場で披露してくれました。

エキシビジョンマッチ

参加者でもある @ さん作成のアプリ、 イカすロット2 をつかってのプラベ

イカすロットは、イカすなブキ抽選アプリです。 プライベートマッチでブキ縛りをするもよし、今日のガチマッチ使用ブキを決めるもよし。 イカすロットでスプラトゥーンをもっと楽しもう!

イカすロット for Splatoon2

イカすロット for Splatoon2

  • shinya saiho
  • Utilities
  • Free

play.google.com

@ さんの声かけで、 ウデマエS以上お断りenjoyプラベ なども開催されました。

運営

今回のチャレンジ

クリエイティブに力入れた

Splathon ロゴ作成

Splathon コミュニティー内のデザイナさんが作ってくれました。

f:id:kawakubox:20180604171532p:plain

会場内POP

こちらも、Splathon コミュニティー内のデザイナさんが作ってくれました。

f:id:kawakubox:20180604172347j:plain

エンドロール

前日設営のときに、エンドロール欲しいねって言ったらスタッフが作ってくれた。

f:id:kawakubox:20180604172603p:plain

創造主の部分にまさか自分の名前が仕込んであるの知らなくてウルッときました😂(前日の確認段階では入ってなかった)

インタビュースペースの装飾

インタビューの背景によくある格子模様のあれです。

これも前日設営のときに急遽作ろうという流れになりました。

f:id:kawakubox:20180604173236j:plain

今回はプリントアウトして格子状に配置した簡素なものだったので、次回はキチンとバナースタンド作りたいです。

並列数の増強

3並列 + 試遊卓 → 4並列 + 試遊卓 にしました。

このおかげで前回より余裕を持って進行でき、かつ決勝トーナメントも復活させることができました。

f:id:kawakubox:20180604164152p:plain

Live配信チャネル追加

ニコニコ生放送に加えて、 OPENREC でのライブ放送も行いました。

全試合録画

配信卓だけではなく、全卓でキャプチャボード用意して録画する環境を用意しました。

一部試合の欠損もあったりしますが、ほぼ全試合アーカイブできました。

OPENREC ユーザであれば、以下から視聴することができます。

www.openrec.tv

虐殺マッチを減らす

予選はスイスドロー形式なので、ラウンドを進めていくと対戦チーム同士のレベルは似通ってきます。

これまでは初戦から完全ランダムにマッチングさせていたので、瞬殺されるケースもそれなりにありました。

プレイヤー目線、実況目線、視聴者目線からも近しいレベルでの試合のほうが面白いし、満足感も高かろうという仮定のもと、予選1, 2回戦に限りチームのウデマエを考慮したマッチングを行いました。

最後まで全体告知するかどうか考えましたが、あえてこの事実は伏せて行うことにしました。

これについてはご意見、批判あるかと思いますがご了承ください。

当日発生したトラブル

イカッチャプラベのバグを踏み抜く

https://support.nintendo.co.jp/app/answers/detail/a_id/34680

イカッチャのプライベートマッチで、装備しているギアを変更したとき、ゲームが強制終了してしまうことがある問題を修正しました。

イベント後数日でバグフィックスされた。 アップデートがもう少し早ければ、、、。

ネットワークつながらない端末

会場のネットワークが DHCP 環境下で IP固定の設定だったことが原因でした。

今後の予定

今秋の三連休のどっかでやろうくらいしか決まっていないです。

次回は別会場での開催にはなりますが、会場のメドが立っていません。

どこか会場貸せますという方いらっしゃいましたら @ or @ まで連絡お願いします

さいごに

Splathon Online League

前回のSplathon#7が終わってすぐに、コミュニティ内で Splathon Online League(SOL) というイベントが行われていました。

コミュニティー内の参加者を募りチームを組んで、週1回対抗戦を行い順位を競うというものです。

チームは、代表者によるドラフト形式でメンバーを構成しました。

この企画でこれまであまりやり取りなかったイカたちとプライベートで飲みにいったりと交流が深まる副次的な効果がありました。

そういった SOL による交流もあり、 Splathon#8 はオフ会なノリも各所で見受けられました。

第2回SOL もぼちぼち開催されるので、Splathon#9 に繋げられるように盛り上げていきたいです。

Splathon を振り返って

Splathon を始めたころは、「Splatoon企業対抗戦」というイベント場でした。

そこからイベント連絡などを目的に Slack を用意してコミュニケーションできるようになりました。

Splathon というイベントが前面で、コミュニティーが後付けだったんですね。

でも今は、 Slack でのコミュニティーがメインにあって、 Splathon はオフ会のような場になっていて、イベントとコミュニティーの主従が逆転した形になっています。

このような設計をしていたわけではないですが、コミュニティーが成長してイベントを重ねていったら自然と今の形に落ち着きました。

やりたいことや、洗練させたい箇所もまだあるので、参加者満足度を損なわないようにやっていきたいです。

謝辞

過去最大規模で開催できたのもDMMさんのおかげですっ。

デザイン協力してくれた方々へもこの場を借りて感謝申し上げます。

本当にありがとうございましたっ。

マンメンミっ。


当日の様子

togetter.com

過去記事

Splathon関連の過去記事

tech.speee.jp tech.speee.jp tech.speee.jp tech.speee.jp tech.speee.jp tech.speee.jp

Heroku で Webpacker での assets:precompile が動かなかったのを解決した

Heroku で Rails アプリケーションを稼働している。

このたび、 JS, CSS まわりを Sprockets から Webpacker へ乗り換えたが、Heroku へのデプロイの際に assets:precompile が延々と実行されない事象に陥った。

原因

Heroku のドキュメントを漁っていたら、以下に解決にいたりそうな記述を見つけた。

devcenter.heroku.com

Rake task defined, and don’t have a public/assets/manifest-*.json file.

public/assetsmanifest-*.json にないことが、 assets:precompile が実行される条件のようだ。

今回は、 public/assets/.sprockets-manifest-*.json というファイルがリポジトリに残っていた。

対応

public/assets/.sprockets-manifest-*.jsonリポジトリから削除した。

結果

〜〜略〜〜
Webpacker is installed 🎉 🍰
Using /tmp/build_154d9ad0359fd2fa6b43b8e446707f52/config/webpacker.yml file for setting up webpack paths
Compiling…
Compiled all packs in /tmp/build_154d9ad0359fd2fa6b43b8e446707f52/public/packs
Asset precompilation completed (47.88s)
Cleaning assets
Running: rake assets:clean
〜〜略〜〜

これで、 assets:precompile が実行され、アプリケーションで assets が読み込めるようになった。

capistrano 2日目

capistrano 復習の記録

kawakubox.hatenablog.com

capistrano/bundler

gem, rake, rails コマンドに bundle exec プレフィクスを付けて実行するようになる。

GitHub - capistrano/bundler: Bundler support for Capistrano 3.x

READMEを見るに、デフォルト設定でおおむね問題なさそう。

デプロイ先のサーバー次第では :bundle_jobs は CPU core 数にあわせて設定したいところ。

capistrano/rails

capistrano/rails/assets, capistrano/rails/migrations を内包する。

set :rails_env でSTAGEを指定できるが、基本は cap production deploy のように指定したSTAGEを使うと思われる。

capistrano/rails/assets

assets:precompile を担当する。

set :assets_roles 実行する role を指定する。デフォルトは :web

set :assets_prefix assets ディレクトリの prefix。ほとんどの場合 assets のはずなので、無指定でOK。

set :rails_assets_groups, :assets

RAILS_GROUPS が関係しそうなところはここらへんのようだが、なにに影響するかはまだ理解できていない。

set :normalize_asset_timestamps assets パス以外の静的ファイルにタイムスタンプ付与する場合は対象となるディレクトリを指定するようにみえる

set :keep_assets 過去のデプロイで作られた assets リソースを何世代残すかの設定。デフォルトは nil