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/
参考
GCPサービスアカウントの p12 ファイルから token を取得する
サービスアカウントの JSON やAPIキーを使用した token の取得方法はそこそこ見つかったけど、 p12 ファイルを使用した場合のやりかたを探すのにだいぶ遠回りしたのでメモ。
使用するのはこれ
準備
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 (@splathon) 2019年11月30日
どことなくメニューもSplatoonを彷彿とさせる!?
・タコと(チョウ)サメ軟骨のマリネ
・イカのトマト煮込みペンネ
・サーモン(ラン)薫製とハーブクリームチーズのタルト
・バッテラ(ストリート)
・穴子むすびイクラのせ・スプラソンロゴ入りのチーズケーキ#splathon pic.twitter.com/fSUSZhuyFk
今年の Splathon Advent Calendar では Splathon Slack Workspace で最も投稿量の多いチャンネルである #boshu について紹介します。
boshu とは
boshu 👉 募集 のことで、ブラベやリグマなどのお誘いをするチャンネルです。
直近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回/日
日別募集回数
募集時間傾向
募集用途
募集用途 | 回数 |
---|---|
リグマ | 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 を遊びや交流の場として楽しんでいきましょう。
明日は、ぺんとんさんによる『情報伝達の確度』です。
お楽しみにっ
そうぞうしゅのおしごと
これは Splathon Advent Calender 2018 の1日目の記事です。
こんにちは id:kawakubox です。
みなさまイカがお過ごしですか?
はやいもので、2018年も Advent Calendar の季節がやってまいりました。
今年は Splathon でも Advent Calendar をやってみようと思い、ノリで立てたら思いのほか枠が埋まってくれました。
ここまでくると25日全部埋めるという欲が出てきますね。
2018年5月4日に行われた Splathon#8 で「そうぞうしゅ」というありがたい二つ名を付けていただき感謝、感激、マンメンミなわけですが、今日は「そうぞうしゅ」として何をやっているかということを書いていこうと思います。
Splathon とは
そこそこ認知度は上がってきたかと思いますが、改めて Splathon の定義を貼っておきます。
「スプラソン」(Splathon)とは、スプラトゥーン(splatoon)とマラソン(marathon)を組み合わせた造語で、複数の参加チームが、マラソンのように、 数時間から数日間の与えられた時間を徹してSplatoonに没頭し、戦果を競い合うゲームイベントのことをいいます。
当初は、ゲームイベント自体を「Splathon」呼称していましたが、最近はコミュニティー自体を指すようにシフトしています。
おしごと内容
- 対抗戦イベント企画
- オフ会企画
- ノベルティ作成
- コミュニティマネジメント
やっていることは一般的なコミュニティオーナーと変わらないと思います。
対抗戦イベント企画
大きく分けて、 Offline イベント、 Online イベントがあります。
- Offline イベント
- Splathon (別名:オフラソン)
- 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 イベントは、コミュニティ内のメンバーが企画して取り仕切るケースが増えてきて、私はサポートに回ることが多くなってきています。
こういった体制に移りつつあるので、いろんな企画が出てきているのでイチ参加者として、今後も楽しみです。
オフ会企画
忘年会とか、オフラソンに向けての検証会とかの企画です。
ことあるごとに、口実作ってイベントやってます。 ※そろそろスマブラも出るし、なんかやりたいですね。
検証会では、Cisco のスイッチ持ち込んでインターネットに繋がない状態でのプラベ環境構築に向けて検証したりしてます。
このへんは 12/16 の Adventar がブログ書いてくれると思います。
3rd Anniversary
先日(2018.11.29)が、 Splathon#1 から数えてちょうど3年になるので、 Splathon 3rd Anniversary というオフ会を開きました。
平日にもかかわらず35名に参加いただきました。
普段プラベでは何度も会話してるものの、初めてお会いする方も多く企画してよかったなと思っております。
Splathon 3rd ANNIVERSARY🎉
— booriii (@chibone5) 2018年11月29日
超特急でワインラベルつくったから生き急いで2016-2019になってしまった!正しくは2015-2018だわ🙄
居るだけで楽しい貴重なコミュニティ!みんなすき!!!!!!!!!美味しいね!!!! pic.twitter.com/yalfqGCjVc
ノベルティ作成
この1年で念願のロゴもできたので、ノベルティ(ステッカー)を作ったりなどもしました。
こちらは、先日の 3rd Anniversary で配布したものになります。
コミュニティマネジメント
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さんのイベントスペースで開催しました。
広い、広い
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の広がりを感じます。
注目は、決勝トーナメント常連の 無、 都立道玄坂高校タコ部(仮) 、それに募集時点でのウデマエが高かった しくみ&セガ連合かっこかり あたりです。
企業対抗戦
開会式
より大会感を出すために、今回から開会式を設けました
開会式コンテンツ
- 前回優勝チームからのトロフィー返還
- 参加企業/チームの自己紹介
- 選手宣誓
選手宣誓は第1回から参加してくれているしくみ製作所の えびですぷりぷりー さんにお願いしました。
選手宣誓カミマミタ!!!!! #splathon
— えびです ぷりぷりー (@ebidesu_prpr) 2018年5月4日
予選
レギュレーション
過去のSplathonと変わりはありません
- ブキ、ギアは当日までにリリースされているもの全て利用可能
- ルール、ステージの制限もなし
- ギアはメイン、サブ含めて自由
- 先攻がルールを決めて、後攻がステージを決める 2試合目は先攻後攻を入れ替えての実施
- 2戦終えての勝ち点制
- 勝ち : 3pt, 分け : 1pt, 負け : 0pt
予選4ラウンドを終えての結果はこちら。
以上4チームが決勝進出 👏
決勝トーナメント
レギュレーション
予選と基本同じすが、以下の2点だけ違いがあります
準決勝は2試合終えて引き分けの場合は、ルール:ナワバリ、ステージ:おまかせ
決勝は3本先取
決勝戦
無 vs しくみ&セガ連合かっこかり
初戦 無 は得意の ガチヤグラ で先勝、 1 - 0 とします。
2戦目、しくみ&セガ連合かっこかり は、 ナワバリ を選択し、きっちりスコアを 1 - 1 のイーブンに。
3戦目、無 は得意の ガチヤグラ を指定するも 1pt 差で落としてしまい 1 - 2 と勝ち星を先行され王手をかけられる。
4戦目、しくみ&セガ連合かっこかり は、 ナワバリ を選択。 対する 無 は、 バッテラストリート を選択。
2戦目と同じルール・ステージになりました。
目まぐるしく変わる試合展開、ラスト15秒時点では 無 有利に見えましたが、そこから しくみ&セガ連合かっこかり の巻き返しが始まるっ!!
ホイッスルが鳴り、旗は、、、、、コジャッジくんだぁ〜〜〜〜。
シャープマーカーネオ を持った えびです ぷりぷりー 選手の 1,402pt の塗りが光ります✨
3戦目の相手得意ルールの ガチヤグラ を取ったのが大きかったですね。
優勝おめでとうございまっす 🎉
#splathon 8
— えびです ぷりぷりー (@ebidesu_prpr) 2018年5月4日
優勝だぁあああああ!
初参加の最下位からここまで上り詰めたぞ!!!!
Splatoon 最高!
創造主ありがとう! pic.twitter.com/8DY2F3uv0r
懇親会
メシ
Splathon の楽しみの一つにもなっている懇親会メシ。
今回もケータリングで温かいメニューも用意してます。
こんしんかい!#Splathon8 pic.twitter.com/njpgM3yvSR
— ryudai@VR@めぐるーまー (@jingu0430) 2018年5月4日
今回もすごい! #Splathon pic.twitter.com/y2NuCfmRJF
— ごんべー (@InkLing_Gonbe) 2018年5月4日
LT
有志によるLTは3本ありました。
15 さんによる「ノヴァブラスターのキル動画集」
発表スライド
キル集
おまけ:デス集
ミランドラさんによる「A帯だけど機械学習とYouTubeを駆使して最短でウデマエを上げてみなイカ?」
www.slideshare.net
あわさんによる「S+200が質問答えます」
全ルールカンストでもある あわ さんが答える Q&A コーナー。
「ためしうち」での練習法などを会場で披露してくれました。
エキシビジョンマッチ
参加者でもある @saihoooooooo さん作成のアプリ、 イカすロット2 をつかってのプラベ
イカすロットは、イカすなブキ抽選アプリです。 プライベートマッチでブキ縛りをするもよし、今日のガチマッチ使用ブキを決めるもよし。 イカすロットでスプラトゥーンをもっと楽しもう!
@_jukey17 さんの声かけで、 ウデマエS以上お断りenjoyプラベ なども開催されました。
運営
今回のチャレンジ
クリエイティブに力入れた
Splathon ロゴ作成
Splathon コミュニティー内のデザイナさんが作ってくれました。
会場内POP
こちらも、Splathon コミュニティー内のデザイナさんが作ってくれました。
エンドロール
前日設営のときに、エンドロール欲しいねって言ったらスタッフが作ってくれた。
創造主の部分にまさか自分の名前が仕込んであるの知らなくてウルッときました😂(前日の確認段階では入ってなかった)
インタビュースペースの装飾
インタビューの背景によくある格子模様のあれです。
これも前日設営のときに急遽作ろうという流れになりました。
今回はプリントアウトして格子状に配置した簡素なものだったので、次回はキチンとバナースタンド作りたいです。
並列数の増強
3並列 + 試遊卓 → 4並列 + 試遊卓 にしました。
このおかげで前回より余裕を持って進行でき、かつ決勝トーナメントも復活させることができました。
Live配信チャネル追加
ニコニコ生放送に加えて、 OPENREC でのライブ放送も行いました。
全試合録画
配信卓だけではなく、全卓でキャプチャボード用意して録画する環境を用意しました。
一部試合の欠損もあったりしますが、ほぼ全試合アーカイブできました。
OPENREC ユーザであれば、以下から視聴することができます。
虐殺マッチを減らす
予選はスイスドロー形式なので、ラウンドを進めていくと対戦チーム同士のレベルは似通ってきます。
これまでは初戦から完全ランダムにマッチングさせていたので、瞬殺されるケースもそれなりにありました。
プレイヤー目線、実況目線、視聴者目線からも近しいレベルでの試合のほうが面白いし、満足感も高かろうという仮定のもと、予選1, 2回戦に限りチームのウデマエを考慮したマッチングを行いました。
最後まで全体告知するかどうか考えましたが、あえてこの事実は伏せて行うことにしました。
これについてはご意見、批判あるかと思いますがご了承ください。
当日発生したトラブル
イカッチャプラベのバグを踏み抜く
https://support.nintendo.co.jp/app/answers/detail/a_id/34680
イカッチャのプライベートマッチで、装備しているギアを変更したとき、ゲームが強制終了してしまうことがある問題を修正しました。
イベント後数日でバグフィックスされた。 アップデートがもう少し早ければ、、、。
ネットワークつながらない端末
会場のネットワークが DHCP 環境下で IP固定の設定だったことが原因でした。
📝Switch 端末IP指定で、接続エラーの原因となったケースあり。#splathon
— アラフォー立直(創造主らしい) (@kawakubox) 2018年5月4日
今後の予定
今秋の三連休のどっかでやろうくらいしか決まっていないです。
次回は別会場での開催にはなりますが、会場のメドが立っていません。
どこか会場貸せますという方いらっしゃいましたら @kawakubox or @splathon まで連絡お願いします
さいごに
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さんのおかげですっ。
デザイン協力してくれた方々へもこの場を借りて感謝申し上げます。
本当にありがとうございましたっ。
マンメンミっ。
当日の様子
過去記事
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 のドキュメントを漁っていたら、以下に解決にいたりそうな記述を見つけた。
Rake task defined, and don’t have a public/assets/manifest-*.json file.
public/assets
に manifest-*.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 復習の記録
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