トップ 最新 追記
RSS feed

ただのにっき


2018-05-31(木) [長年日記]

CircleCIをOSS Gateのアンケート集計に使ってみた

自分がGitHubに置いてあるものはすべてOSSということもあり、CIにはOSSでの利用が無料のTravis CIを使っている。最近は毎日commitがなくてもビルドタスクを走らせてくれるなど*1、老舗ながらけっこう便利で良い。難点は無料枠はかなり遅いというくらいか。

で、他のCIサービスも使ってみたいと思っていたところ、先日のOSS Gateでアンケートの文法エラーをCIで検出させたいね*2、なんて話が出たので、これをCircleCIあたりでやってみようと。

CircleCIの使い方自体は、公式のドキュメントがけっこう充実していたので、Qiitaとかに頼らなくても(笑)ちゃんと使えた。

  1. アンケート集計用に使っているaggregate.rbを、文法エラー時にメッセージをSTDERRに出して、非ゼロで終了するように修正
  2. 実行時(日本標準時*3)の日付のあるアンケートフォルダ内だけを対象にしてaggregate.rbを実行するCI専用スクリプトを作成
  3. .circleci/config.ymlを書く。本物(?)のテストスイートを使っているわけじゃないので、かなり雑な感じである
  4. CIrcleCIのアカウントを作って、GitHubのoss-gate/workshopをアクティベート
    • CIの状況をGitHub側に通知する設定を有効に
    • プルリクが作られたときだけCIが走るように設定
    • forkされたリポジトリからのプルリクも対象にするように設定
    • その他、CI実行中にプルリクが書き換えられたらキャンセルするなどの指定

これで外部からプルリクが投げ込まれると、自動的にCIが走るようになる。ためしに一度エラーのあるアンケート回答を入れてCIが失敗するのを確認してから、続いてエラーを修正して成功に変わるのを確認したところ(→CircleCIの当該ページ):

スクリーンショット

これで次回のワークショップからは、参加者自身にエラー修正をしてもらえそうだ。これまでは集計者(進行役かサポートメンター)がいちいち直してたから面倒だったのよ。この方式ならビギナーのプルリク練習としてもよさげ。

Travis CIに比してはるかに速いので、無料枠では並列ビルドができないけど、これくらい速ければOSS Gateみたいに短時間のうちにたくさんのプルリクが投入される場面でも問題にはならなさそう。一方、無料枠が1500分/月なので、たくさんのOSSを抱えてる人には厳しい場合があるかも。とはいえ、デプロイのトリガーなんかにも使えるようなので、いくつかのプロジェクトで使ってみてもいいな。

*1 CircleCIでもworkflowを使ってスケジュールタスクが実行できるらしい。WebUIでポチポチするのとYAMLファイルを書くのとどっちがいいかって話だな。

*2 OSS Gateのアンケートは各自で指定のYAMLファイルを編集してプルリクエストするというハードコア形式なので、不慣れなビギナーはどうしても誤った文法のままcommitしてしまいがちなのだ。

*3 あとでCI環境内でのTZ環境変数をAsia/Tokyoに設定する。

関連する日記: 2018-09-06(木)

2018-05-30(水) [長年日記]

ミリシタイベント プラチナスターツアー「花ざかりWeekend✿」(4Luxury)

イベント終了日、デレステの翌日がミリシタでもう忙しいのなんのって。しかも今回(というか前回あたりから)妙にボーダーが上がってきていて、以前は36000ptあたりで5万位余裕だったのが、ここのところ4万ptを超えてくるように。今回も、ラスト1時間でスパートかけられたので、4万ptを大きくオーバーしておいて安心できたけど、これがなかったらドボンだったわ。こえーよ。

この週末にはSSAでの5thライブ。おそらくこのイベントのユニットまではライブで登場するだろう。楽しみ楽しみ。それにしても、ミリシタで登場した新ユニットがちゃんと揃うように2日間の出演者が割り当てられていて、ほんとに感心する。てことはおおむね1年くらい先までスケジュールが決まっているってことで、それでいて不測の事態とかが起きても対応できるようになってるんだろうなぁ。(ちゃんとした)ソシャゲの運営って、ほんとすごい。

THE IDOLM@STER MILLION THE@TER GENERATION 09 4Luxury (特典なし)
4Luxury
ランティス
¥ 1,428


2018-05-29(火) [長年日記]

OSS Gate for Fujitsu #2へサポートメンターとして参加してきた

OSS Gateは定例のオープンなワークショップだけでなく、企業内で社員を対象にしたワークショップも各所で行われるようになっている。今日は富士通の社内ワークショップ(2回目。1回目は手伝えなかった)で、サポーターとして手伝ってくれと言われたので朝から浜松町へ*1

ビギナーばっかりでサポーターの人数が足りないのかなーと思ってたが、蓋を開けてみればビギナー:サポーターが1.5:1くらいにはなったので、急遽(いつもの)サポートメンター役におさまることに。全部で5、6組くらいのやりやすい規模。

社内ワークショップはガバナンス問題とかネットワーク問題が出やすいんだけど、そこは主催の@YasunoriGoto1さんが用意周到にしてあって、知財担当部門からの解説や、会社の金でAWSを使える環境が用意してあってよかった。とはいっても、AWSでインスタンスを立ち上げるのに一苦労だったので、ここは改善の余地ありか。いまどきは標準的なLinuxイメージを準備しておいてDockerで展開するのが楽だと思うけど、そうすると中でDockerを使うOSSが動かせないからなー。いろいろむずかしいな。

始まってしまえばあとは普通で順調ないつものワークショップだったかな。ネットでは馬鹿にされがちなSIerだけど、基本的に地頭は優秀な人たちなので、ビギナーもサポーターも、理解さえ追いつけば柔軟に対応できる。

Tags: ossgate

*1 余裕を持って行ったはずなのに、会場がどこだかわからなくて20分くらい近辺を右往左往してしまった。入場方法が周知されていなかったっぽい。


トップ 最新 追記
RSS feed